2012-01-04 10 views
0

私はいくつかのクイックテストを実行して、打上げ時および将来のhwコストを見積もっています。ベンチマーキングEC2

仕様

Ubuntuのナッティ11.04 64ビット nginxの0.8.54 m1.large

私はここで何か間違ったことしなければならないように私は感じます。私が何をしようとしているのは、余分なマシンを追加する前にどれくらい多く同時にサポートできるかを見積もることです。私は、Djangoのアプリケーションサーバを使用していますが、今のために私はnginxのサーバーに

結果静的index.htmlページをテストしてい:私もDjangoのバックエンドを追加する前に、基本的なnginxの設定ができるだけで、だから、

$ ab -n 10000 http://ec2-107-20-9-180.compute-1.amazonaws.com/ 
This is ApacheBench, Version 2.3 <$Revision: 655654 $> 
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ 
Licensed to The Apache Software Foundation, http://www.apache.org/ 

Benchmarking ec2-107-20-9-180.compute-1.amazonaws.com (be patient) 
Completed 1000 requests 
Completed 2000 requests 
Completed 3000 requests 
Completed 4000 requests 
Completed 5000 requests 
Completed 6000 requests 
Completed 7000 requests 
Completed 8000 requests 
Completed 9000 requests 
Completed 10000 requests 
Finished 10000 requests 


Server Software:  nginx/0.8.54 
Server Hostname:  ec2-107-20-9-180.compute-1.amazonaws.com 
Server Port:   80 

Document Path:  /
Document Length:  151 bytes 

Concurrency Level:  1 
Time taken for tests: 217.748 seconds 
Complete requests:  10000 
Failed requests:  0 
Write errors:   0 
Total transferred:  3620000 bytes 
HTML transferred:  1510000 bytes 
Requests per second: 45.92 [#/sec] (mean) 
Time per request:  21.775 [ms] (mean) 
Time per request:  21.775 [ms] (mean, across all concurrent requests) 
Transfer rate:   16.24 [Kbytes/sec] received 

Connection Times (ms) 
       min mean[+/-sd] median max 
Connect:  9 11 10.3  10  971 
Processing: 10 11 9.7  11  918 
Waiting:  10 11 9.7  11  918 
Total:   19 22 14.2  21  982 

Percentage of the requests served within a certain time (ms) 
    50%  21 
    66%  21 
    75%  22 
    80%  22 
    90%  22 
    95%  23 
    98%  25 
    99%  35 
100% 982 (longest request) 

を夕食45リットル/秒? これはm1.largeにとって恐ろしいです...いいえ?

私は間違っていますか?

答えて

0

マークが並行性について語ったこと。プラス私はloadstorm.comのような専門の負荷テストサービスのために数ドルを外して、そのようなことを本当に難しくしました。負荷が壊れるまで負荷を上げてください。すべての現実的な(サーバーの容量を見積もるために重要な)シミュレートされたトラフィックを作成することは自明ではなく、これらのサービスはリソースをロードし、リンクなどに役立ちます。 1つの静的なページをロードするだけでは、非常に現実的な数字は得られません。実際のアプリが動いているようなものを手に入れ、仮想ブラウザーをたくさん使ってみてください。 1台のマシンでトラフィックが生成されている場合、適切に構成されたサーバーの制限を見つけることはできません。

+0

はこれのための最も良いサービスであるloadstormですか? – josephmisiti

+0

"Best"を定義するのは難しいです。間違いなく最も洗練されたものではありません。しかし、私は彼らが安価で、使いやすく、十分に強力なバランスを持っているので、負荷がかかります。 – Leopd

2

並行性レベルを1に設定しただけです。 ab -c 10 -n 1000 http://ec2-107-20-9-180.compute-1.amazonaws.com/などのより現実的な結果が必要な場合は、並行性(Apache Benchの-cフラグ)を上げることをお勧めします。

+0

もし私が同時性を増やすならreq/secが減少するべきですか? – josephmisiti

+2

私はreq/sが効率的に処理できるよりも多くの同時接続を持つまで、req/sが増加すると思います。その中断点はアプリケーションに依存する可能性が高いが、それはベンチマークプロセスの一部でなければならない。単一の並行処理で取得できるreq/sの数は関係ありません。なぜなら、スケーリングの問題がないときに一度にサイトに人が1人しかいないからです。 –