2017-02-12 87 views
0

我對Web服務(WSDL)和網關接口上的WSO2 APIM執行了一些性能測試。網關上的一切都很順利,但是我在使用Web服務時遇到了一個奇怪的行爲。WSO2 APIM - Tunning

基本上我創建了一個測試,添加,更改密碼和刪除用戶並使用64個線程運行測試計劃。在開始時,我的吞吐量增加了很多,直到達到全部64個線程(吞吐量峯值爲1600 req/seg)。然而,此後吞吐量開始下降,沒有任何理由。

所有64個線程仍處於活動狀態並正在運行,並且託管wso2am的計算機減少了CPU使用率。似乎APIM已經放棄了處理請求,即使它有線程和處理器。

下圖顯示了處理器(用戶,系統和空閒)以及上下文切換和中斷的vmstat結果。吞吐量可以跟隨cpu/context切換。

enter image description here

和下一圖片示出了JMeter測試結果在末端(減少吞吐量後)。

enter image description here

基本上我需要的是什麼可能是對這種行爲的原因的線索。我已經嘗試增加wso2am和tomcat上的線程池,但它沒有效果。這就像要求沒有達成一致。儘管jmeter已經充滿了力量,並且之前已經發送了更大的吞吐量。

我敢打賭,在tomcat或wso2上的簡單配置就是這個答案。任何幫助表示感謝。

感謝和問候

回答

0

這可能是由於JMeter的不能夠發送請求的速度不夠快,請嘗試以下步驟:

  • 升級JMeter的最新版本(3.1截至目前) ,您可以從JMeter download page
  • 獲得最新的JMeter分佈command-line non-GUI mode運行您的測試。 JMeter GUI只能用於測試開發和/或調試,它不適用於運行負載測試。
  • 在測試執行期間刪除(或禁用)所有listeners。以後你可以打開JMeter的GUI,添加您選擇,負載.jtl結果文件的監聽器,並進行分析,或者創建一個HTML Reporting Dashboard出結果文件的

9 Easy Solutions for a JMeter Load Test 「Out of Memory」 Failure文章以上幾點詳細解釋和幾個技巧關於配置JMeter以獲得最佳性能和吞吐量

+0

德米特里,非常感謝您的時間。但是,這並沒有改變結果。在這兩種情況下,JMeter VM都使用了所有可用資源(cpu,i/o,mem ......),我可以達到網關接口的4K req/sec和服務接口的2K req/sec。奇怪的是,對於網關接口,整個測試過程都保持不變,但對於服務而言,它始終處於高位,並一直處於峯值使用的10%。 此致敬禮。 –