7

多くの PDF を作成し、それらのファイルを提供するアプリケーションを開発しました。(通常のサーブレット バッファリング サービング)。

アプリケーションが複数のリクエストで効率的に動作することを確認するにはどうすればよいですか? 負荷/スケーラビリティ/効率と、現在のサーバー構成でコードが処理する並列リクエストの数をテストするためのツールはありますか?

4

6 に答える 6

4

Tsungのような負荷テスターを使用できます

于 2009-09-26T05:03:11.037 に答える
1

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)
于 2009-09-28T14:14:45.997 に答える
1

グラインダーjmeterなどの負荷テスト ツールの使用を検討する必要があります。グラインダーはスクリプトをサポートし、jmeter は junit を負荷テスト クライアントに変えることができます。個人的に jmeter が好きなのは、junit のサポートと、優れた GUI コントロールとレポート機能があるからです。jmeter は、すぐに http と soap をサポートします。さらに、カスタム ニーズに合わせて独自のプラグインを作成することもできます。

于 2009-09-26T07:46:05.227 に答える
1

JMeterもお勧めします。ブラウザのページ リクエストを記録して、JMeter テスト ( HTTP Proxy Server ) を作成することもできます。

于 2009-09-26T08:01:07.480 に答える
1

また、アプリケーションが負荷の下でどのように動作するかを確認するための監視ツールも用意する必要があります。

最新の Sun JDK に含まれている jvisualvm から始めるとよいでしょう。

于 2009-09-26T09:37:29.820 に答える
0

Apachebenchシングルスレッドツールです。これは、SMP サーバー (マルチスレッドまたはマルチプロセス) を飽和させることができないことを意味します。

むしろweighttp、AB 構文を使用している を検討する必要があります (唯一の違いは、-t 4 が 4 秒のテストの代わりに 4 つのワーカー スレッドを使用することを意味することです)。

于 2011-12-05T12:22:54.823 に答える