2017-03-16 45 views
1

在我的JMeter測試計劃中,我將一個變量的值存儲在一個字符串中,並在IF控制器塊中檢查它的特定值。引入此條件後,JMeter吞吐量從500 req/sec降至僅爲80 req/sec。JMeter調優:IF控制器評估需要幾秒鐘的時間

目標應用程序沒有任何問題,但它是JMeter花了太多時間來評估IF控制器塊。有沒有人遇到過這個問題?我通過將代碼包裝在採樣器中並在繼續處理請求之前寫入if條件來解決此問題。雖然這個解決方法滿足我的要求,但我不確定如果我必須根據這種情況在IF控制器內添加Jmeter子元素,我將如何解決這種情況。

請在JVisualVM上查找以下CPU分析。

IF控制器配置: 「$ {} MyString的」 == 「myvalue的」

enter image description here

+0

這是一個有趣的問題,它表明Rhino JS引擎減慢了一切。可能是特定於環境或您在犀牛身上引發的一些瓶頸。對於一個用戶來說,它是否緩慢,或者只有在負載下?你有多少個線程? (我嘗試了400線程和最大我得到如果控制器是175毫秒;平均和中位值在8毫秒) –

+0

我正在使用150個線程。在引入IF控制器模塊之前,它以500 req/sec產生請求。之後,它下降到80 /秒。我沒有爲單個線程觀察這個。我使用JMeter 3.0 – Selva

回答

0

使用jexl3而非JavaScript,它是由encourage JMeter的,在你的情況下${__jexl3("${mystring}" == "myvalue")}

如果您想要/需要JavaScript使用最新的3.2 version它提高了JavaScript的性能。

JMeter現在使用Oracle Nashorn JavaScript引擎代替Rhino。這提供了更快的Javascript執行。

相關問題