私は多くのPDFを作成し、それらのファイルを提供するアプリケーションを開発しました。 (通常のServlet-Bufferingサービング)。私のアプリケーションのスケーラビリティをチェックする方法
私のアプリケーションが複数のリクエストで効率的に動作するようにするにはどうすればよいですか?ロード/スケーラビリティ/効率をテストするためのツールがあり、現在のサーバー構成でコードが処理する並列要求の数はいくつですか?
私は多くのPDFを作成し、それらのファイルを提供するアプリケーションを開発しました。 (通常のServlet-Bufferingサービング)。私のアプリケーションのスケーラビリティをチェックする方法
私のアプリケーションが複数のリクエストで効率的に動作するようにするにはどうすればよいですか?ロード/スケーラビリティ/効率をテストするためのツールがあり、現在のサーバー構成でコードが処理する並列要求の数はいくつですか?
のような負荷テスターを使用することができます。グラインダーはスクリプトをサポートしていますが、jmeterを使用するとjunitを負荷テストクライアントにすることができます。私は個人的にはjunitのサポートとその良いguiの制御と報告のためにjmeterが好きです。 jmeterは、httpとsoapをサポートしています。さらに、独自のニーズに合わせて独自のプラグインを作成することもできます。
JMeterもお勧めします。ブラウザのページ要求を記録してJMeterテスト(HTTP Proxy Server)を作成することもできます。
アプリケーションが負荷のかかった状態でどのように動作するかを確認するには、監視ツールも必要です。
最新のSun JDKにはjvisualvmが適しています。
あなたができる最も簡単なことは、Unixベースのシステムを実行しているか、Windows用のApache Webserver 2.xに付属している場合におそらく既にインストールされているApacheのベンチマークです。
例を使用します。
$ ab -n 1000 -c 20 http://www.google.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 www.google.com (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests
Server Software: gws
Server Hostname: www.google.com
Server Port: 80
Document Path: /
Document Length: 218 bytes
Concurrency Level: 20
Time taken for tests: 1.826 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Non-2xx responses: 1000
Total transferred: 807000 bytes
HTML transferred: 218000 bytes
Requests per second: 547.55 [#/sec] (mean)
Time per request: 36.527 [ms] (mean)
Time per request: 1.826 [ms] (mean, across all concurrent requests)
Transfer rate: 431.51 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 9 12 14.7 10 337
Processing: 11 24 26.8 17 306
Waiting: 11 22 21.1 16 297
Total: 21 36 30.5 28 350
Percentage of the requests served within a certain time (ms)
50% 28
66% 36
75% 39
80% 41
90% 45
95% 54
98% 93
99% 253
100% 350 (longest request)
Apachebench
はシングルスレッドツールです。つまり、SMPサーバー(マルチスレッドまたはマルチプロセスのいずれか)を飽和させることはできません。
AB構文を使用しているweighttp
を考慮する必要があります(唯一の違いは、-t4は4秒のテストの代わりに4つのワーカースレッドを使用するということです)。