基於nGrinder下的web網站性能測試
- 2019 年 10 月 10 日
- 筆記
簡介
nGrinder 看名字估計很多人就猜到跟Grinder有關係。nGrinder是韓國一家公司居於Grinder二次開發的一個性能平台。nGrinder具有 開源、易用、高可用、高擴展等特性,在Grinder基礎上實現了多測試並行,通過web管理,實現了集群,同時支持Groovy和Jython腳本語言,(官方上說,Groovy的性能會更好),也實現了對目標服務的監控以及插件的擴展,簡單實現更多用戶虛擬用戶並發(官方上說,8G內存的4核cpu機器可以支持高到8000個虛擬用戶)
環境配置
一、JDK的安裝配置
1、從官網下載對應系統的jdk,注意是jdk不是jre。最好從官網下載,也可以直接度娘。
2、下載完畢後,安裝jdk,直接按照安裝嚮導的提示安裝即可,安裝時可以自己選擇安裝路徑,我的安裝路徑是D:javaJDKjdk

jdk安裝路徑
3、配置環境變量:右擊計算機—屬性—高級系統設置—環境變量,如圖

在「系統變量」中,設置3項屬性,JAVA_HOME,PATH,CLASSPATH(大小寫無所謂),若已存在則點擊「編輯」,不存在則點擊「新建」;
(1)JAVA_HOME指明JDK安裝路徑,就是剛才安裝時所選擇的路徑 D:javaJDKjdk
(並且後邊不帶分號)此路徑下包括lib,bin,jre等文件夾(此變量最好設置,因為以後運行tomcat,eclipse等都需要依靠此變量),如圖

JAVA_HOME
(2) Path使得系統可以在任何路徑下識別java命令,設為 %JAVA_HOME%bin; (注意後面有分號) 如圖

(3)CLASSPATH為java加載類(class or lib)路徑,只有類在classpath中,java命令才能識別,設為:
.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;
(要加.表示當前路徑,前面有點號和分號,後邊結尾也有分號。或者可以寫成「.;%JAVA_HOME%lib;」一樣的效果。),如圖

4、環境變量配置完之後測試一下JDK是否安裝成功
單擊「開始」—「運行」,鍵入"cmd",然後分別鍵入命令java -version,java,javac,若出現以下類似畫面表示安裝成功:

java -version

java

javac
二、Tomcat的安裝配置
1、進入官網http://tomcat.apache.org/(這裡我下載的版本號為apache-tomcat-7.0.92-windows-x64)
下載Tomcat的Windows版本,下載完之後直接解壓,解壓到 D:javaTomcat
2、右擊我的電腦—屬性—高級系統設置—環境變量,在系統變量中添加以下變量
(1)TOMCAT_HOME,該變量指向解壓文件的路徑,該目錄下有lib、bin等文件夾。添加方法如下:
點擊環境變量下的「新建」,在「變量名」中填寫「TOMCAT_HOME」,在「變量值」中填寫解壓文件的路徑,D:javaTomcat (後面沒有分號)然後點擊「確定」,如圖

TOMCAT_HOME
(2)CATALINA_HOME,該變量的值與TOMCAT_HOME相同,設置方法同(1),如圖

CATALINA_HOME
(3)在「系統變量」中找到Path變量,雙擊打開Path變量,在「變量值」的最後面添加 %CATALINA_HOME%bin (後面沒有分號),如圖

(4)在「系統變量」中找到CLASSPath變量,雙擊打開CLASSPath變量,在「變量值」的最後面添加 %CATALINA_HOME%libservlet-api.jar (後面沒有分號),如圖

3、單擊「開始」—「運行」,鍵入"cmd",在控制台輸入service install Tomcat7,在系統中安裝Tomcat7服務項。

安裝Tomcat7服務
然後進入控制面板—系統和安全—管理工具—服務,找到Apache Tomcat Tomcat7服務項,右擊該項,點「啟動」,啟動該服務,如圖

啟動Tomcat7服務
4、打開瀏覽器,地址欄輸入http://localhost:8080或 http://127.0.0.1:8080
如果出現tomcat示例主頁,則表示服務器安裝成功,如圖

服務器安裝成功頁面
5、也可以在控制台運行startup.dat和tomcat7.exe(運行時要指明絕對路徑,startup.dat和tomcat7.exe在bin目錄下)來測試服務器是否安裝成功,如圖

控制台運行Tomcat7服務
6、在控制台運行bin目錄中shutdown.bat可以關閉服務器
7、若無法訪問tomcat主要或者無法啟動startup.dat,可能是8080端口被佔用了,可以用netstat -a 命令查看一下,如圖

查看端口號
如果8080端口被佔用了,可以修改tomcat的訪問端口,方法如下:找到D:javaTomcatapache-tomcat-7.0.92-windows-x64apache-tomcat-7.0.92conf目錄下的server.xml文件,打開該文件,找到以下內容

修改端口號
註:每次需要啟動tomcat服務器都要運行startup.bat文件。如果覺得麻煩可以把服務里啟動類型設置為自動。但這樣開機速度會慢些。
三、nGrinder的安裝配置
1、下載grinder-controller-3.3.war(地址:http://sourceforge.net/projects/ngrinder/files/ )
(1)用右側命令運行nGrinder controller:java -jar ngrinder-controller-X.X.war 然後你會看到如下的錯誤信息。
nGrinder requires very big PermGen memory because it includes very many libraries such as SVNKit, maven, Jetty webserver, groovy, and python. Re-run the ngrinder with the PermGen settings.
(2)nGrinder需要更多的perm-gen 內存空間,請重新用右側命令運行nGrinder:java -XX:MaxPermSize=200m -jar ngrinder-controller-3.3.war
(3)請注意,nGrinder用9090作為web端訪問的端口,如果你想使用其他的端口,請增加參數配置–port port_number。
java -XX:MaxPermSize=200m -jar ngrinder-controller-3.3.war –port 80
(4)當執行這個war包文件,war包中的文件會解壓到~/.ngrinder/webapp文件夾中並創建默認數據文件到.ngrinder文件夾中。
如果你能在屏幕中看見下面的日誌信息,說明ngridner controller已經正常啟動運行。

啟動nGrinder信息
現在可以打開瀏覽器訪問http://localhost:9090/使用nGrinder了。
2、 把下載好的包放到Tomcat路徑/webApps文件夾中
(1)將war包文件放到tomcat的webapps文件夾中,${TOMCAT_HOME}/webapps 。如果你不想通過路徑ngrinder-controller訪問nGrinder,可以修改war包文件的名稱為war。
(2)然後打開sh或者catalina.bat將下面這行命令添加到文件頭部。
JAVA_OPTS="-Xms600m -Xmx1024m -XX:MaxPermSize=200m" # for catalina.sh
set JAVA_OPTS=-Xms600m -Xmx1024m -XX:MaxPermSize=200m # for catalina.bat
(3)然後運行${TOMCAT_HOME}/startup.sh或者bat
(4)打開瀏覽器訪問http://localhost:8080/ngrinder-controller-X.X或者http://localhost:8080如果你修改了war包文件的名稱為war
3 、修改Tomcat/bin目錄下的 catalina.bat文件或者catalina.sh文件頭部添加如下:
set JAVA_OPTS=-Xms600m -Xmx1024m -XX:MaxPermSize=200m # for win catalina.bat
JAVA_OPTS="-Xms600m -Xmx1024m -XX:MaxPermSize=200m" # for linux catalina.sh

catalina.bat
4、打開瀏覽器訪問http://localhost:9090/ngrinder-controller-X.X或者http://localhost:9090/war(如果你修改了war包文件的名稱為war)【本篇測試地址是:http://localhost:9090/ngrinder】,打開nGrinder首頁後,默認賬號admin密碼admin進入

nGrinder網頁顯示
四、安裝代理
打開nGrinder首頁後,默認賬號admin密碼admin進入,點擊右上角的admin===>Download Agent.下載代理,並解壓包,運行run_agent.bat(win下)或者run_agent.sh(linux下)便可。這時回到nGrinder平台,點擊admin===> Agent Management,可以查看到剛新增的代理,以及代理機器上的ip等信息。nGrinder可以通過簡單方式就可以做到集群。

啟動代理
五、安裝監控
同樣點擊右上角的admin===>Download Monitor(中文翻譯有誤,一樣寫成「下載代理」),解壓運行run_monitor.bat或者run_monitor.sh文件,便可以,具體檢查得等後續泡腳本時才能看出。
六、簡單的測試案例
1、登錄nGrinder後,你可以通過輸入一個測試的url,選擇Jython,然後點擊Start Test執行測試,nGrinder會自動生成測試腳本

輸入被測試網址
2、輸入一個有效的測試鏈接,選擇腳本語言(比如Jython)後,點擊開始測試,進入配置頁面

配置頁面
3、測試完成後,顯示如下的頁面

測試結果
4、點擊頁面中的詳細測試結果按鈕,查看詳細的測試數據

測試結果詳情頁面
七、 安裝踩過的坑記錄
1. 在後面驗證腳本時出現:找不到或無法加載主類 Filesapache-tomcat-7.0.92tempjython
原因 tomcat 路徑D:Program FilestomcatXX 中存在空格引起,把tomcat直接複製放D:tomcatXX 下問題解決
2. nGrinder 服務起不來,訪問出現404錯誤:
原因可能本地jdk版本不支持或者tomcat版本不支持,解決方案推薦使用jdk1.8和tomcat 7.X .X版本。

nGrinder 服務啟動異常
結果分析拓展:在詳細報告里增加更多統計項
參考鏈接:nGrider性能測試操作指南