0

私はQAテスターに​​すぎないので、こことJava全般に本当に慣れていません。そこで、これを短くしようと思います。ウェブサイトのテストで発生した問題の1つである、を使用したAJAXウェブサイトのテストの解決策を見つけましたJmeter。Mavenを使用して必要なJarファイルをコンパイルした後、Seleniumで記録されJmeterたリクエストを実行して、Webサイトの負荷テストを試みることができました。JunitHTMLunit

ある程度「ロードに値する」スレッド数に達するまではすべて正常に実行されます(私たちは複数のマシンを持っているので、それぞれが200〜300のリクエストを処理できれば、これは問題にはなりません)が、いくつかのエラーが発生します。スレッドを50に設定した後、JmetercmdとエラーコンソールCSSJmeterエラー(関連していない可能性がありますが、同時に表示されます):

java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid6832.hprof ...
Heap dump file created [817281280 bytes in 13.116 secs]
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
Logging Error: Unknown error writing event.
java.lang.OutOfMemoryError: GC overhead limit exceeded
2013/02/04 14:01:10 WARN  - com.gargoylesoftware.htmlunit.DefaultCssErrorHandler: CSS warning: 'Website URL+CSS PATH' [2447:70] Ignoring the whole rule. 
2013/02/04 14:01:10 WARN  - com.gargoylesoftware.htmlunit.DefaultCssErrorHandler: CSS error: 'Website URL+CSS PATH' [1684:57] Error in pseudo class or element. (Invalid token "2". Was expecting one of: <S>, <IDENT>, ")".) 

これらは私が得るエラーです、私はそれがリクエストを通過するのに苦労していると推測しています(私はhtmlunitそれがブラウザであるかのように振る舞い、そのブラウザを使用して一度に100のリクエストを送信することは私の現在のリソースの多くを要求しているかもしれないので)。

だから、質問は:私は自分が見ている問題を評価するのに正しいことを確認したかっただけでなく、誰かが以前にこのようなことをしたことがあるかどうか、そしておそらく誰かがこれらの種類のテストを処理するより良い方法を見つけたかどうか疑問に思っていますか?

4

1 に答える 1

0

ほとんどの場合、アンチパターンである負荷テストに GUI モードで JMeter を使用しています。

プランに View Results Tree リスナーがあると思うので、このコンポーネントは最終的にすべての結果を累積し、 OOM で終了します。

JMeter の最近のバージョン以降、最後のサンプル結果は 500 件のみ保持されます。

したがって、JMeter 4.0 または 5.0 にアップグレードし、非 GUI モードを使用します。

jmeter -n -t testplan.jmx -l results.csv -e -o report_folder

于 2018-10-12T20:22:18.180 に答える