Grinder是一個JavaTM負載測試框架焙蚓,支持分布式測試,開源洒宝,BSD授權购公,參見。
網址:
Grinder是目前市面上綜合表現(xiàn)最好的性能測試工具之一雁歌。優(yōu)點集中體現(xiàn)在效率較高宏浩、基于jython擴展性相當好。其他類似的工具有multi-mechanize靠瞎、locustio比庄。Jmeter也相當不錯,但是擴展沒有這么快速较坛。
主要特性
通過ava API支持HTTP Web服務器印蔗、SOAP和REST Web服務及應用服務器(CORBA,RMI丑勤,JMS华嘹,EJB)的,以及自定義的協(xié)議法竞。
靈活的腳本:強大的Jython和Clojure的語言耙厚。默認的腳本語言Jython。 Grinder 3允許任何代碼(Java岔霸、Jython或Clojure)代碼封裝為測試薛躬。中有大量jython實例。
分布式架構:圖形控制臺允許監(jiān)視和控制多個負載注入器呆细,并提供了集中的腳本編輯和分發(fā)型宝。
成熟的HTTP支持:自動管理客戶端連接和cookies。 支持SSL、代理發(fā)現(xiàn)趴酣、連接控制梨树、瀏覽器的錄制和回放。詳細特性參見岖寞。
Grinder最初由Paco Gómez和Peter Zadrozny為書籍《Professional Java 2 Enterprise Edition with BEA WebLogic Server》開發(fā)抡四。Philip Aston接手并開發(fā)了Grinder 2和Grinder 3。Grinder 3引入jython支持仗谆,3.6引入Clojure支持指巡。
- 技術支持 釘釘群21745728 qq群:144081101 591302926 567351477
快速入門Grinder進程
Worker
解釋測試腳本和執(zhí)行測試。每個Worker進程包含若干線程隶垮,可并行運行許多測試藻雪。
Agent
長時間運行的進程,用于啟動和停止工作進程岁疼。并緩存從控制臺分發(fā)的測試腳本阔涉。
Console
協(xié)調其他進程、收集及顯示數(shù)據(jù)捷绒、腳本的編輯及分發(fā)瑰排。
Grinder由Java編寫,每個進程都是一個java虛擬機(JVM)暖侨。
[圖片上傳失敗...(image-998196-1528514315067)]
在進行比較重的負載測試時椭住,每個負載注入機要啟動一個agent進程。agent進程啟動worker進程,控制臺可控制和監(jiān)控所有Workder字逗。
控制臺默認監(jiān)聽6372端口京郑,設置grinder.useConsole為false或者連接不上console時,agent會自動啟動worker葫掉。這種模式適用與調試腳本些举。
每個worker寫日志信息到文件host-n.log中,數(shù)據(jù)寫在host-n-data.log俭厚,錯誤error-host-n.log户魏。
Final statistics for this process: Successful Tests Errors Mean Test Test Time Time (ms) Standard Deviation (ms) Test 0 25 0 255.52 22.52Test 1 25 0 213.40 25.15Test 2 25 0 156.80 20.81 "Image"Test 3 25 0 90.48 14.41Test 4 25 0 228.68 23.97 "Login page"Test 5 25 0 86.12 12.53 "Security check"Test 6 25 0 216.20 8.89Test 7 25 0 73.20 12.83Test 8 25 0 141.92 18.36Test 9 25 0 104.68 19.86 "Logout page" Totals 250 0 156.70 23.32