Stress test of vsftpd
We have performed a stress test of vsftpd.
The environment is as follows
Virtual machine
CPU: Intel Xeon E5-2650 V3 2.3Ghz (2Core out of 10core [4vCPU] allocation)
Memory: 4GB
Disk: PCIe V3 SSD
OS: Redhat Enterprise Linux 9
Client PC
Intel Core i5-7300U CPU 2.60GHz
Memory: 8GB
Disk: SATA SSD
OS: Windows 10 Pro & JMeter 5.5
We used JMeter to verify how many simultaneous accesses (writes) a virtual machine (server) can withstand.
The file sent to the FTP server was a 500kb text fill.
FTP requests in 1 second were verified for 1 continuous minute.
The number of FTP requests per second was increased to 10, 20, and 30, and an error occurred at 60 FTP requests.
Label | Samples | Average | Min | Max | Std. Dev. | Error % | Throughput | Received KB/sec | Sent KB/sec | Avg. Bytes |
request | 3600 | 464 | 3 | 1333 | 443.56 | 44.81% | 84.51 | 0 | 26124.58 | 0 |
1 minute (1 second/60 FTP requests). Samples will be the total number (60*1) * 60 = 3600.
At 1 minute (1 second/50 FTP requests), the error rate is 0.00% as shown in the table below, so 1 second/50 requests is the upper limit for performance.
Label | Samples | Average | Min | Max | Std. Dev. | Error % | Throughput | Received KB/sec | Sent KB/sec | Avg. Bytes |
request | 3000 | 1034 | 61 | 1191 | 110.18 | 0.00% | 47.31 | 0 | 26496.83 | 0 |
We ran another 1 minute (1 second/50 FTP requests) for 1 hour.
No errors occurred, so the 50 FTP requests per second seems stable.
Label | Samples | Average | Min | Max | Std. Dev. | Error % | Throughput | Received KB/sec | Sent KB/sec | Avg. Bytes |
request | 180000 | 1030 | 48 | 1251 | 51.31 | 0.00% | 48.48 | 0 | 27152.68 | 0 |
It was interesting to note that the CPU resources for one hour (1 second/50 FTP requests) seem to use only 1 vCPU, as shown in the figure below. This may mean that no performance improvement can be expected for FTP receive requests no matter how much the number of CPU cores is increased.
For your reference.
2