2015-04-27 131 views
1

我有一個web服務要求,它應該能夠處理最少1000請求/分鐘。JMeter - 吞吐量控制器

我可以創建一個JMeter測試&一次又一次地在一個循環中調用這個webservice來查看有多少請求 - 對於一個用戶,它能夠在一分鐘內完成100個呼叫,我可以將用戶增加到10- 15 &看看我能否處理最少1000個請求/分鐘或不。

我的問題是 - 是否有任何控制器/方法來測試這種類型的要求 - 1000請求/分鐘(用戶數可以是任何東西)? (我不想通過使用試用&錯誤的方法來增加用戶)

Throughput controller - 正如apache所說的那樣,它的命名很糟糕。這不是爲了這個。可以使用Constant Throughput Timer來達到這個要求嗎?

+0

@負選民,請留下評論,如果你認爲這個問題沒有足夠的信息。我會很樂意提供。 – KitKarson

+0

這聽起來像是一個合理的問題給我。我能想到downvote的唯一原因是你問什麼恆定吞吐量定時器的功能是什麼,這在用戶手冊中有詳細的記錄,並在之前討論過。無論如何,upvoting讓你回到零。 – RaGe

回答

1

對您的問題的簡短回答是,是,恆定的吞吐量計時器完全滿足您的要求。從大量用戶開始,CTT將插入暫停以確保滿足目標吞吐量。

CTT當然不能保證達到目標吞吐量,這也取決於應用程序的可擴展性,它真正做的是防止吞吐量超過以上的設置值。如果您願意,您也可以在運行時更改設定的吞吐量值。

長的答案是,也許你應該考慮一個不斷的漸進型測試。你問的問題是我的應用程序可以支持1000請求/分鐘。暗含的問題是,如果不是,它真的支持多少?如果可行,在它失敗之前它能走多遠?

運行IMO的更好測試是使用戶數量(以及吞吐量)緩慢但隨時間不斷增加,從0一直增加到150%甚至200%所需負載。

enter image description here

如果你正在監視錯誤率和響應時間,以及,你會看到在響應時間急劇增加,或者在錯誤率突然增加,或趨於穩定的吞吐量,即使用戶的不斷增加 - 這是您知道應用程序已達到突破或穩定點的位置。

+0

感謝您的回答。通常你運行性能測試多久? 1小時,2小時......或..直到你看到一個突破點?我在Jmeter有相當的知識 - 但我沒有性能測試經驗/概念。你建議任何書/網站?再次感謝。 – KitKarson

+0

持續時間實際上取決於您要測量的內容。響應時間測量類型測試通常爲1小時。但尋找內存泄漏可能需要幾個小時。這有點舊,但這些概念仍然適用:https://msdn.microsoft.com/en-us/library/bb924375.aspx – RaGe

+0

感謝您的回答。 – KitKarson