3

我在基於Web的應用程序中執行性能負載測試。我可以在JMeter中設置加速期0嗎?

我從JMeter的教程瞭解到,我怎麼能設置斜坡上升期, 如:

如果使用了10個線程,以及提升週期爲100秒,那麼JMeter將需要100秒,得到所有10個線程正常運行。每個線程將在前一個線程開始後10(100/10)秒開始。

10個用戶,百秒斜坡上升 - 1個用戶開始,每10秒可使用用戶添加

,但我有一個疑問,我們可以設置斜坡上升週期0?如果是,那麼結果將如何影響0斜升?

+1

如果將斜升設置爲0,則所有線程將在測試開始後的第1秒開始。結果取決於您的應用程序在一堆用戶同時擊中Web應用程序時的行爲。 – 2014-10-08 08:10:56

+0

@JmeterPerfTest謝謝!爲了回答。所以,沒有Jmeter的限制,我們可以根據我們的測試計劃,用戶數量和應用行爲來設置增長。但是如果我拿4000個用戶,那麼應該是什麼樣的增長?我仍然懷疑是否值得花一些時間而不是0?如何理解何時需要? – Test123 2014-10-08 08:35:46

+1

您將需要模擬生產日誌中的用戶行爲。加速是必要的,如果您檢查生產日誌,用戶負載在1次中永不增加,它會逐漸增加。這就是我們使用加速的原因。 更應該在每個請求中引入延遲,以再次模擬用戶體驗。實際的用戶從來沒有經歷過一次特定的場景。 底線是模擬負載測試中的實際用戶行爲。 – 2014-10-08 09:38:12

回答

4

零爬坡(相當於1秒爬坡)幾乎沒有用,除了大型網站宣傳發布日期,即當新產品按照日程安排發佈時,例如演唱會門票或電腦遊戲。

您可以使用它來證明該網站會應付突然大量的請求。

也許您可能也會發現可用於步進爬坡,可從jmeter-plugins獲取。

正如其他人所說,您正試圖模擬正常使用情況,因此如果正常使用情況包含突然的重負荷,請保持較低的加速。

但是,請記住,由於低加速和多線程,您可能會受到本地資源的限制,因此您的結果可能是客戶端功能而不是服務器的度量。

看看分佈式負載測試,以模擬比單個客戶端所能實現的更大的負載。

+0

我有一個清晰的看法。謝謝你的回答。 @CharlieS – Test123 2014-10-09 13:47:44

+0

我發現斜坡上升爲0是對API進行壓力測試的有用方法,以瞭解它如何使用單個線程處理恆定負載(儘可能保持不變)。給出了一個很好的理論界限。然後我添加線程來查看會有多少飽和。我同意,這不是一個最佳調整的實際模型,但有助於提供具體的界限。 – Ray 2017-01-16 20:48:11

3

由於放在JMeter的網站上標明的提升週期的原因是:

斜坡上升需要足夠長,以避免在測試開始時過大的工作負荷,並且足夠短以至於最後一個線程在第一個線程完成之前開始運行(除非有人希望發生這種情況)。

舉個例子,假設你有一個簡單的測試計劃,確實是這樣的:在

  1. 用戶登錄
  2. 用戶增加了一些內容。
  3. 用戶讀取一些內容。
  4. 用戶註銷。

比方說,你將它設置爲使用1000個線程,並有0的加速期,然後當你開始你的測試來看,它將使1000登錄請求在完全相同的時刻(給予或採取一點)。

不用說,這不是一個現實的測試。除非您遇到某種類型的DDoS,否則您絕不會期望像這樣使用高峯。

您的目標是模擬儘可能接近您的系統將在現實世界中使用的使用情況配置文件,爲了實現這一點,您可能希望平均分配所有使用情況你的計劃中的行動。爲此,您可以使用加速期。一個簡單的經驗法則是將加速時間設置爲您希望計劃執行一次的時間量。

+0

謝謝!我明白了你的觀點。現在它清晰。 – Test123 2014-10-08 10:03:40

+1

@SonamBharti只是一個友好的提醒,以標記你發現有幫助的答案,就像點擊勾上的'接受'一樣。我發現你以前沒有做過很多以前的回答,如果你不這樣做,你可能會發現獲得幫助更加困難。 – Mardoz 2014-10-08 10:16:09

+0

再次感謝您提及。 @Mardoz – Test123 2014-10-08 10:24:10

相關問題