我想盡量使用盡可能多的線程(以使用更少的計算機),但又不會使客戶端出現瓶頸。在Jmeter中可以同時運行的最高線程數是多少?
回答
我已經使用JMeter的一個公平位和發現它在產生真正的高負載方面不是很好。在具有2Gb內存的2Ghz Core2 Duo上,您可以合理預計大約100個線程。
話雖這麼說,最好是在你的硬件上運行它,以便PC的CPU並沒有達到100%的峯值 - 穩定的80%-90%是最好的,否則效果會受到影響。
我自己也嘗試WAPT 5 - 它成功運行1000+線程在同一臺電腦。它不是免費的,但它比JMeter更有用,但沒有所有的功能。
自從至少2.6版以來,過時的回答參見https://stackoverflow.com/a/11922239/460802以獲得更新的答案。
我還沒有使用JMeter,但答案可能取決於您的硬件。最好的辦法可能是建立性能指標,猜測線程數量,然後按如下方式運行二進制搜索。
來源是維基百科。
猜數字遊戲...
這個簡單的遊戲開始像「我40至60歲以下,並且對你的猜測,我會迴應‘高’,‘低’之間思維的整數,或者'是!'情況可能如此。「假設N是可能值的數量(在這裏,第二十一個爲「包含」),那麼至少需要問題來確定數量,因爲每個問題都將搜索空間減半。請注意,與通用算法相比,需要少一個問題(迭代),因爲該數字已被限制在特定範圍內。
即使我們猜測的數字可以是任意大的,在這種情況下沒有上界N,我們仍然可以在大多數步驟中找到數字(其中k是(未知)選定數字)通過重複加倍找到上限。例如,如果數字是11,我們可以使用以下猜測序列來找到它:1,2,4,8,16,12,10,11
也可以擴展該技術以包括負數;例如下面的猜測可以用來找到-13:0,-1,-2,-4,-8,-16,-12,-14,-13
The JMeter Wiki報告JMeter與多達1000個線程一起使用的情況。我用它最多有100個線程,但Wiki中的鏈接建議我從來沒有試過的資源減少。
這將取決於你所運行的硬件以及底層腳本。我一直覺得這種模糊性是傳統負載測試工具最大的問題。如果你有一個小的預算(200美元左右,你會得到很多測試),請查看我公司的load testing service,BrowserMob。
除了我們真正的瀏覽器用戶(RBUS)的控制上的性能和負載測試的目的實際瀏覽器十萬,我們也有傳統的虛擬用戶(個VU)。腳本是用JavaScript編寫的,可以進行各種HTTP調用。
我把它的原因是,我一直覺得試圖找出你可以有多少個VU適合您的負載代硬件的比賽是很危險的。沒有意識到這一點很容易就會得到不好的結果。
爲了解決BrowserMob問題,我們對每個CPU核心的VU和RBU數量採取了非常保守的方法:每個CPU核心不超過1個瀏覽器或50個線程,有時少得多。在雲計算領域,CPU週期非常便宜,因此試圖超載機器就沒有意義。
在Windows XP上運行JMeter的問題之一是Windows XP TCP連接限制。應該刪除限制以便運行使用JMeter工作站的全部潛力 更多信息here。 AFAIK,不適用於其他操作系統。
只要您使用正確,JMeter可以模擬非常高的負載。
不聽都市傳說,說JMeter無法處理高負荷。
現在作爲答案,這取決於:
你的機器功率
你的JVM 32位或64位
你的JVM分配的內存-Xmx
您的測試計劃(大量的豆殼,後處理器,xpath ...意味着大量的CPU)
您的操作系統配置(可調)
GUI /非GUI模式
所以沒有理論框架的答案,但以下Best Practices將確保JMeter的表現良好。
注意用JMeter還可以通過遠程測試負載分佈,閱讀:
最後使用基於雲計算的測試,如果這還不夠。
閱讀本調諧提示:
我用JMeter的自2004年以來,我推出了大量的負載測試。
使用PC Windows 7 64位4Go RAM iCore5。
我想JMeter的可支持300至400 併發線程用於HTTP(採樣)協議,只有一個「聚合報告監聽器」誰在日誌文件中的結果和定時器通話頁面之間寫道。
對於一個大的負載測試,你可以配置與從站(負載生成器)的JMeter這樣 http://jmeter-plugins.org/wiki/HttpSimpleTableServer/
我已經做了11個PC奴隸測試來模擬5000個線程。
它更依賴於一種特定的服務器上,你做性能測試(負載,穗,耐力等)(上硬件的依賴一點)
的記住圍繞這些參數 - 客戶機你在其上定位jmeter的運行,將會有一定數量的堆內存分配,確保有一個健康的分配,以便腳本不會出錯。我在本地環境(客戶端 - 服務器拱門)上運行的最高級別爲1500,在網絡拱門上,我運行的最高級別基於非功能性要求限制爲250個線程,因此它理想情況下取決於各種性能測試和部署風格等。
這個沒有標準編號。您可以從一臺計算機生成的最大線程數完全取決於計算機的硬件和操作系統。默認情況下,OS佔用一定數量的CPU和RAM。
要找出您的計算機可以處理的最大線程數,您可以準備一個樣例測試,並只用幾個線程運行它。然後在每個測試循環中逐漸增加線程的數量。在此期間,您還需要監視計算機的CPU,RAM,磁盤I/O和網絡I/O。當這些數據中的任何一個達到接近或超過80%(再次,您可以決定是否接近或超過),這是您的計算機可以處理的最大線程數。爲了安全起見,當資源利用率達到70%時,我會停下來。
- 1. 在Delphi應用程序中可以運行的最大線程數是多少?
- 2. 我可以同時運行多少個線程?
- 3. 我可以在Jmeter中同時運行時控制線程組嗎
- 4. 如何在運行jMeter時減少線程數?
- 5. 同時在python中運行多個線程 - 是否有可能?
- 6. 有多少個線程(或工作項目)可以同時運行?
- 7. 最高線程數:Jmeter vs. WCat 6.3
- 8. 找出多少個線程同時運行一個函數
- 9. 可同時運行的屏幕會話的最大數量是多少?
- 10. 在Jmeter中同時運行兩個線程組
- 11. 可以並行使用的最大進程數是多少Stream
- 12. 在java中運行多少個線程?
- 13. JMeter運行LoginThread,然後同時運行所有線程
- 14. 可以在單個進程中加載多少運行時(CLR)?
- 15. 在Jmeter中不管線程數是多少,只執行一次採樣請求
- 16. 可以並行執行Java對象非同步方法的線程的最大數量是多少?
- 17. 在不同的線程中運行測試用例以減少執行時間
- 18. 線程池是否可以在單線程函數上運行?
- 19. KSH:約束,可以同時運行的線程數量
- 20. PHP中可以使用MySQL運行的最大查詢數量是多少?
- 21. 可以同時訪問最多3個線程的java多線程方法
- 22. android在android中的最大背景運行時間是多少?
- 23. 線程問題,同時線程限制,同時運行最大線程問題
- 24. 是否可以同時在多個線程中運行500個不同的操作?
- 25. 應用程序中的最佳線程數應該是多少?
- 26. JMeter:運行參數化線程
- 27. 同時運行多個線程
- 28. 運行多個線程同時
- 29. 我可以多次運行相同的線程嗎?
- 30. 在Notepad ++中可以看到的最大記錄數是多少?
我想說這取決於您的硬件... – 2010-01-11 15:58:23
接受的答案已過時,因爲最近的JMeter版本。 – 2012-12-24 10:45:36