2015-09-13 74 views
1

我正在對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兩件事,試圖測試,但我在我無計可施幾乎和可以使用一些建議。在服務器客戶端模式

  1. IP欺騙,
  2. 與Java客戶端
  3. 運行
  4. 運行。

如果您需要更多信息,我會盡可能提供,但請大家幫忙!

其他信息:

套接字錯誤我得到

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. 

回答

0

當加載測試,經常發生在測試應用程序無法處理,這將表現爲插座休息,插座超時負荷......

在你的情況下,服務器關閉連接,這意味着它可能超載。 您需要檢查服務器端組件:

  • 防火牆
  • 負載平衡器
  • Apache或IIS或任何其他Web服務器
  • J2EE服務器如Tomcat或JBoss的或其他類似的
+0

增加了我得到的套接字錯誤。我同意這不是JMeter的問題,但應該有其他地方的這些錯誤的相應條目,但我無法找到它。因此,問我應該在哪裏看或應該做什麼。 –

+0

我更新了我的答案 –

+0

防火牆 - 沒有阻塞 負載平衡器(軟件) - 什麼都沒有 IIS - 這是有趣的一個,沒有什麼明顯記錄在這裏。我會更新我的問題將更詳細。 沒有Tomcat,JBoss或其他任何東西 - .Net應用程序 –

相關問題