我已經使用了40個執行緒的普通執行緒組,吞吐量180000,預期TPS為3000..,但是,結果只有2750 tps。,我該如何提高TPS?我已經嘗試了并發執行緒組和整形定時器組合..你能指導我..,提前致謝。
uj5u.com熱心網友回復:
通過在單位時間內(秒、分鐘、小時等)向目標服務器發送所需數量的請求來控制 TPS 或吞吐量
通過更改執行緒數來控制吞吐量并不容易或良好做法。當服務器變慢時,吞吐量變低,反之亦然。
您需要在服務器回應較快時引入延遲,并在服務器回應較慢時引入更多執行緒。通過設定執行緒數來實作所需的吞吐量并不容易。
請注意
如果服務器無法處理它,或者如果其他計時器或耗時的測驗元素阻止它,吞吐量將會降低。
JMeter 有多種方法可以通過對請求引入延遲來實作所需的吞吐量。
使用定時器
- 恒定吞吐量定時器
- 精確的吞吐量計時器
- 吞吐量整形定時器
在上述情況下,您需要確保有足夠數量的執行緒可用以生成所需的吞吐量。如果創建的執行緒數超過所需的執行緒數,則此解決方案效率不高。
最好的方法是測驗應該按需創建額外的執行緒并根據需要在請求之間引入延遲。
在 JMeter 中,您可以使用Concurrency Thread Group和吞吐量整形計時器來實作這一點。
該視頻演示了控制器的使用。
uj5u.com熱心網友回復:
- 首先,您的應用程式必須能夠處理這樣的負載。我不知道你的
180000 of throughput,節是什么意思,如果你把它放在恒定吞吐量計時器上,請注意:
它在“分鐘”級別上足夠精確
它只能“暫停”JMeter 以將其吞吐量“限制”為給定值
一般來說,只有當 1 個用戶每秒發出 75 個請求時,您才能與 40 個用戶達到 3000 TPS,這意味著您的應用程式回應時間應低于 75 毫秒。
如果回應時間更長 - 您將無法在 40 個用戶的情況下達到每秒 3000 個請求。
- 此外,JMeter 應該能夠足夠快地發送請求,因此請確保遵循JMeter 最佳實踐,如果這還不夠,請考慮使用分布式測驗
更多資訊:用戶和每秒點擊數之間的關系是什么?
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/346545.html
