如何測試一個網站的性能(並發數)?


JMeter網站並發性測試

 

 

Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟件做壓力測試,它最初被設計用於Web應用測試但后來擴展到其他測試領域。 它可以用於測試靜態和動態資源例如靜態文件、Java小服務程序、CGI腳本、Java 對象、數據庫, FTP服務器, 等等。JMeter 可以用於對服務器、網絡或對象模擬巨大的負載,來在不同壓力類別下測試它們的強度和分析整體性能。另外,JMeter能夠對應用程序做功能/回歸測試,通過創建帶有斷言的腳本來驗證你的程序返回了你期望的結果。為了最大限度的靈活性,JMeter允許使用正則表達式創建斷言。多的不說了:直接上操作:由於JMeter是使用java開發的,所以運行需要java的運行環境。接觸過java的人都知道,java環境的搭建,不是我們現在討論的東西,所以不會的,自己度娘哈。

 

1. 下載JMeter

 

官方網站下載最新版本: http://jmeter.apache.org/download_jmeter.cgi ,英文的,你懂的。

英文不好的朋友 : http://www.quzhuanpan.com/home/sourceList.jsp?type=6,中文下載地址


2. 啟動JMeter

話不多說,直接上圖:首先解壓apache-jmeter-2.9,進入bin目錄:點擊jmeter.bat。啟動軟件
 
 
開始界面:
 
 

1) 建立線程。模擬多用戶訪問:步驟如下

 

 


為什么要建立線程組?原因很簡單,因為我們要模擬多個線程(用戶)來訪問web網站。線程屬性部分中,線程數是啟動多少個線程,比如:我這里填寫的是10,Ramp-Up Period (in seconds)表示線程之間間隔多少時間允許,單位是秒,比如如果填寫10,那么10/10=1表示10個線程間每隔1秒鍾請求網站。循環次數:60個線程運行完畢算是一次,循環次數就是這樣的一個請求過程運行多少次,我這里測試就填寫的是2。每次修改一個設置后,別忘記了保存一下。

 

2) 設置請求服務器、壓力鏈接等信息

 

接下來很自然的是,我們要測試的網站地址是什么?鏈接是什么?所以現在我們就來設置這些信息。右鍵點擊我們剛創建的線程組,在彈出的菜單中,選擇添加->Sampler->Http請求,彈出如下圖界面:

路徑:

假如你只是對一個鏈接進行壓力測試,直接填寫一個鏈接就ok,比如 https://m.kkdshu.com/,但是大多數情況下都不是這樣的,我們這里需要多個鏈接,就如同剛開始講到的那樣,我們要將多個鏈接保存到一個文本文件中,然后隨機讀取進行壓力測試。我們可以這么做,如圖:

在選擇一個功能下拉列表中選擇_StringFromFile,然后在本機新建一個測試文件C:\Users\root\Desktop\apache-jmeter-2.9\test.txt,在第一行(你也可以不在第一行)的值中填寫測試文件的路徑,如下圖:


 

然后點擊“生成”按鈕,在生成按鈕的左邊文本框中將生成一個字符串如:

${__StringFromFile(C:\Users\wukong\Desktop\test.txt,,,)}

在test.txt測試文件中,我們每行寫一個URL鏈接,如下格式:

如果地址是:www.kkdshu.com.那么。在test.txt中的內容,就是相對地址;如

 

這樣一來,當我們並非請求的時候,就會從test.txt中隨機選擇url來進行壓力測試。

另外值得注意的一個地方是,如果參數中有中文的情況,運行的時候可能會出現亂碼,這個時候就需要注意你在Jmeter中的編碼設置與你要請求的網頁編碼是一致的。

路徑文本框下面的選項,可以按默認的就成,Use multipart/form-data for HTTP POST是當請求中有附件的情況,一般情況下都不用選中的

3) 查看運行結果

鼠標右鍵點擊線程組,在彈出的菜單中選擇添加->監聽器->用表格查詢結果,如下圖:


 

各屬性如下:

  • Sample:每個請求的序號
  • Start Time:每個請求開始時間
  • Thread Name:每個線程的名稱
  • Label:Http請求名稱
  • Sample Time:每個請求所花時間,單位毫秒
  • Status:請求狀態,如果為勾則表示成功,如果為叉表示失敗。
  • Bytes:請求的字節數

在下面還有幾個參數:

  • 樣本數目:也就是上面所說的請求個數,成功的情況下等於你設定的並發數目乘以循環次數
  • 平均:每個線程請求的平均時間
  • 最新樣本:表示服務器響應最后一個請求的時間
  • 偏離:服務器響應時間變化、離散程度測量值的大小。

到這里,我們已經做了一個簡單的網站並發性測試。還有其他功能,就自己捉摸吧,嘿嘿。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM