我使用jmeter工具測試我的應用程序。我在ELB(不是自動縮放組)後面有2個EC2 m1.small實例,2個緩存節點是巨大的RDS db(多可用區)。我的Apache(peforked)配置了默認值,如256個maxclients。兩者都可以處理256-256的請求。現在當jmeter拋出500請求我看到連接超時錯誤在jmeter的採樣器之一。任何人都可以弄清楚是什麼問題?Amazon ELB + jmeter
在此先感謝。
我使用jmeter工具測試我的應用程序。我在ELB(不是自動縮放組)後面有2個EC2 m1.small實例,2個緩存節點是巨大的RDS db(多可用區)。我的Apache(peforked)配置了默認值,如256個maxclients。兩者都可以處理256-256的請求。現在當jmeter拋出500請求我看到連接超時錯誤在jmeter的採樣器之一。任何人都可以弄清楚是什麼問題?Amazon ELB + jmeter
在此先感謝。
JMeter扔什麼?有幾件事情可能發生。
連接重置:如果這個錯誤從JMeter中拋出,那麼這意味着服務器已經超時並且不能支持任何更多的併發請求。即分配的256個線程全部用於服務其他請求,這基本上意味着你已經達到了服務器上的限制。
「Address already in use」異常:這些類型的錯誤是您在進行負載測試時不能得到的錯誤。這基本上意味着您的系統上沒有可用端口提出更多請求,並且所有端口都很忙。這可能是由於各種原因而發生的,但是您可以嘗試調整系統設置(如Linux的ulimit),或者如果您使用Windows盒子,則可能需要查看tcpTimedWaitDelay和相應的設置以查看端口的平均週轉時間回到活動池中,以便重新用於下一次連接。這種情況稱爲tcp端口耗盡(http://www.outsystems.com/NetworkForums/ViewTopic.aspx?TopicId=6956&Topic=How-to-tune-the-TCP%2FIP-stack-for-high-volume-of-web-requests)
爲了解決這個問題,您還可以嘗試分佈式負載測試和/或使用定時器,以確保您始終擁有端口以建立新連接。
服務器日誌說什麼?這似乎是一個負載問題。您可以嘗試增加tomcat的server.xml中的max_threads,以查看您是否獲得了更好的結果。 – Keshi 2012-07-10 07:16:25
500次請求,連續? 500個線程有一個請求? – ant 2012-07-04 10:19:28