我正在對350名用戶進行高峯測試。我將兩臺機器的測試分成兩部分,一部機器運行220個用戶,另一部機器休息。在運行幾分鐘後的兩臺機器上,我開始看到套接字異常,套接字超時異常和HTTP主機異常。JMeter報告的套接字錯誤的原因可能是什麼
我試圖找到關聯到這個異常的負載均衡器(軟件)的任何錯誤,IIS日誌,應用程序日誌和環境監測系統,但我還沒有找到他們的任何地方。
我讀了很多博客和SO上的答案,他們遇到了同樣的問題,並且能夠通過更改JMeter設置來解決問題。我嘗試了所有這些設置,但都沒有幫助。
我正在我的測試上
Windows Server 2012 R2/ 6 GB RAM/ 64 Bit OS/ 64 bit Java/ Intel Xeon CPU E5-46170 @ 2.90 GHz processor/ JMeter 2.13
我JMeter.bat設置有:
set HEAP=-Xms1536m -Xmx2048m
set NEW=-XX:NewSize=128m -XX:MaxNewSize=1024m -XX:+UseConcMarkSweepGC
set SURVIVOR=-XX:SurvivorRatio=3 -XX:TargetSurvivorRatio=50%
set TENURING=-XX:MaxTenuringThreshold=12
rem Java 8 remove Permanent generation, don't settings the PermSize
if %current_minor% LEQ "8" (
rem Increase MaxPermSize if you use a lot of Javascript in your Test Plan :
set PERM=-XX:PermSize=64m -XX:MaxPermSize=128m
)
set IPV4=-Djava.net.preferIPv4Stack=true
set ARGS=%DUMP% %HEAP% %NEW% %SURVIVOR% %TENURING% %RMIGC% %PERM% %DDRAW% %IPV4%
我HC.Parameter設置:
http.connection.stalecheck$Boolean=true
我user.properties設置是:
jmeter.save.saveservice.output_format=csv
jmeter.save.saveservice.data_type=false
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=false
jmeter.save.saveservice.assertions=false
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.response_message=false
jmeter.save.saveservice.assertion_results_failure_message=false
jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
jmeter.save.saveservice.default_delimiter=,
jmeter.save.saveservice.print_field_names=true
jmeter.save.saveservice.autoflush=true
httpclient4.retrycount=1
hc.parameters.file=hc.parameters
我正在運行我的測試2小時,並且我的測試已設置爲永久循環,停止線程出錯(也可以使用:啓動下一個線程循環出錯)。我檢查了下載嵌入式資源並將連接池設置爲6(也用4運行)。
我已經運行使用默認的HTTP客戶端和4的HTTPClient
截至目前我能想到的其他3兩件事,試圖測試,但我在我無計可施幾乎和可以使用一些建議。在服務器客戶端模式
- IP欺騙, 與Java客戶端
- 運行
- 運行。
如果您需要更多信息,我會盡可能提供,但請大家幫忙!
其他信息:
套接字錯誤我得到
org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$6: I/O exception (java.net.SocketException) caught when processing request: Connection reset
org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl$6: I/O exception (java.net.SocketException) caught when processing request: Connection reset by peer: socket write error
直接擊中IIS 我直接擊中失敗的請求記錄一個服務器運行一些測試開啓,發現下面的錯誤。
A process serving application pool 'XXXXXXXXX' failed to respond to a ping.
The process was terminated due to an internal error in the .NET Runtime at IP XXXXXXXXXXXXXX with exit code 80131506.
增加了我得到的套接字錯誤。我同意這不是JMeter的問題,但應該有其他地方的這些錯誤的相應條目,但我無法找到它。因此,問我應該在哪裏看或應該做什麼。 –
我更新了我的答案 –
防火牆 - 沒有阻塞 負載平衡器(軟件) - 什麼都沒有 IIS - 這是有趣的一個,沒有什麼明顯記錄在這裏。我會更新我的問題將更詳細。 沒有Tomcat,JBoss或其他任何東西 - .Net應用程序 –