vsftpdのストレステストを実施しました。
環境は下記のとおりです。
・仮想マシン
CPU:Intel Xeon E5-2650 V3 2.3Ghz(10core中2Core【4vCPU】割り当て)
メモリ:4GB
ディスク:PCIe V3 SSD
OS:Redhat Enterprise Linux 9
・クライアントPC
Intel Core i5-7300U CPU 2.60GHz
メモリ:8GB
ディスク:SATA SSD
OS:Windows 10 Pro & JMeter5.5
JMeterを使用して、仮想マシン(サーバ)がどの程度の同時アクセス(書き込み)に耐えられるか検証しました。
FTPサーバに送信するファイルは500kbのテキストフィルを使用しました。
1秒間でのFTPリクエストを連続1分で確認しました。
1秒でのFTPリスエスト数を10、20、30と増やし続けたところ、60FTPリクエストでエラーが発生しましした。
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分(1秒/60FTPリクエスト)。Samplesは総数になります(60*1)*60=3600。
1分(1秒/50FTPリクエスト)ですとエラー発生率は下表の通り0.00%になりますので、パフォーマンスは1秒/50リクエストが上限となります。
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 |
さらに1分(1秒/50FTPリクエスト)を1時間実行しました。
エラーは発生しませんでしたので、秒間50FTPリクエストで安定していると思われます。
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 |
興味深かったのは1時間(1秒/50FTPリクエスト)実行時のCPUリソースが下図の通り、1vCPUしか使用しいていないように見られることです。これは、CPUのコア数をいくら増やしてもFTP受信リクエストのパフォーマンス向上が見込めないこと意味するのではと思われます。
ご参考まで。
For English text, go to page!
1
2