Apache Benchmark(ab)を使用してサーバーをテストしてみました。同じテストを2回実行しました。1回はローカルのMacデスクトップで、もう1回はレンタルしたMediaTempleサーバーで実行しました。
EDIT:明確にするために、私は同じリモートサーバーをテストしており、異なる場所でab
を実行しているだけです。
2つの結果の間には劇的な違いがあります。 ISPの帯域幅の制限や、Macデスクトップのその他の制限による大きな違いはありますか?サーバーのパフォーマンスをより正確に反映する結果はどれですか?
Media Templeの結果
Concurrency Level: 50
Time taken for tests: 10.397 seconds
Complete requests: 7911
Failed requests: 0
Write errors: 0
Total transferred: 36355218 bytes
HTML transferred: 33767013 bytes
Requests per second: 791.07 [#/sec] (mean)
Time per request: 63.206 [ms] (mean)
Time per request: 1.264 [ms] (mean, across all concurrent requests)
Transfer rate: 3550.16 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 15 23 142.9 17 3019
Processing: 20 38 28.3 37 1093
Waiting: 20 36 23.8 36 1092
Total: 36 62 145.5 54 3063
ローカルMacデスクトップの結果
Concurrency Level: 50
Time taken for tests: 10.159 seconds
Complete requests: 169
Failed requests: 0
Write errors: 0
Total transferred: 790168 bytes
HTML transferred: 733924 bytes
Requests per second: 16.64 [#/sec] (mean)
Time per request: 3005.589 [ms] (mean)
Time per request: 60.112 [ms] (mean, across all concurrent requests)
Transfer rate: 75.96 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 30 2438 3568.0 379 9217
Processing: 0 95 714.8 3 9291
Waiting: 0 41 68.1 2 191
Total: 137 2533 3579.5 441 9354
ローカルでベンチマークを実行しても、リモートホストで実行されているハードウェア、ソフトウェアなどを複製できない限り、リモートホストでのサイトのパフォーマンスを示すことはできません。
2つのまったく異なるシステムのベンチマークを行っているため、結果の違いは正常です。リモートベンチマークの結果を検討することをお勧めします。これは、アプリがサポートできる接続の数を反映する(そしてアイデアを与える)はずだからです。
また、 siege はこのための非常に素晴らしいツールです。 abとsiegeはどちらも、ベンチマーク結果の自動化と事後比較のために簡単にスクリプト化できますが、siegeでは、1つの特定のURLの代わりにランダムなページを要求できるため、より現実的なベンチマークが可能になります。
これがお役に立てば幸いです。
私のアパートのMacデスクトップにはローカルな制限があると結論付けます。これらの制限は、デスクトップ、ルーター、またはISPレベルで発生する可能性があります。
とにかく、私のMacデスクトップは、データセンター内の別のサーバー(このサーバーを88.77.66.55と呼びます)と同じレベルのリモートサーバー(サーバーIP 66.55.44.33と呼びます)でabテストを実行できません。
したがって、Macデスクトップを使用して66.55.44.33をabテストすると、結果は16 req/sを示します。
88.77.66.55を使用して66.55.44.33をabテストすると、結果は800 req/sを示します。
テスト対象のサーバー(66.55.44.33)は、アトランタのデータセンターにあることに注意してください。私のローカルデスクトップはノースカロライナ州ローリーにあります。 2番目のサーバー(88.77.66.55)は、フェニックスのデータセンターにあります。