1. 程式人生 > >Jmeter壓力測試簡單教程(包括伺服器狀態監控

Jmeter壓力測試簡單教程(包括伺服器狀態監控

    前段時間公司需要對伺服器進行壓力測試,包括登入前的頁面和登入後的頁面,主要目的是測試負載均衡的實現效果。不知道是不是因為Jmeter不如loadRunner火爆還是什麼,網上關於Jmeter的資料有很多但是大多千篇一律,要麼簡單弄個頁面測試一下,要麼全篇都是介紹很多和Jmeter無關的第三方工具,看起來很專業高深,但是作為測試小白來說,看到這樣的東西確實頭疼。我只是想好好了解一下Jmeter的使用啊,能不能完整的介紹一下啊?我不需要了解那麼多其他的第三方工具啊?能不能截個圖說的清楚一點啊?這個步驟裡的引數是幹嘛的啊?對應的什麼啊?你的這一步我怎麼出現問題了啊?怎麼不說解決方法啊。。。這應該是我前段時間查詢Jmeter資料內心最多的問題了,真是嗶了狗了(我是一個優雅的程式猿,很少講粗話啦~嘿嘿)。對於使用某種新的東西,我的習慣往往是先把流程完整的跑一遍,記住,是完整,清晰,好歹別人看了之後對應著自己的需求也能照搬著實現,吐槽了夠多了,開始進入正題,我把我遇到的坑都說清楚,包括後來怎麼從坑裡爬出來的。。。

    步驟一  安裝Jmeter

    我用的版本是3.1版本,為什麼是3.1,因為3.2有問題,我也是跑了一段時間後才知道3.2版本太新了還是什麼的,有些功能就是不行,在此建議大家,不要輕易使用最新版本,次新版本就可以了。安裝好了之後Jmeter的bin目錄下有個Jmeter.bat檔案,雙擊就能運行了。


   步驟二  使用Jmeter測試未登入頁面

    執行軟體之後,我們當然要找個連結測試一下啦,這裡我們以百度為例,我們右擊“測試計劃”——“新增”——“Threads(Users)——執行緒組”,這樣就建了一個執行緒組了,這是幹嘛,當然是跑執行緒用的啊。有了執行緒組之後,我們再右擊執行緒組,“新增”——“配置元件”——“http請求預設值”,這個預設值是幹嘛的?裡面可以設定一些常用的預設的設定(這不是廢話嘛~),在http請求預設值面板裡面,我們可以輸入要測試的伺服器的IP或者域名,這裡我們輸入“www.baidu.com”,協議是“https”,你要測試的網址如果是http開頭那就填“http”,其他預設不管了,這時候點選左上角儲存會彈出一個儲存框,這是讓你儲存你現在所做的測試配置,以後需要再測試的話的直接開啟儲存的jmx檔案就行了。儲存完了之後,我們再右擊“執行緒組”——“新增”——“Sampler”——“http請求”,哎,剛剛不是新增過了嗎?剛剛那個不是哦,剛剛那個只是預設值,只是用來設定一些預設配置,真正發起請求的是“http請求”,在http請求裡面我們在“路徑”裡面輸入斜槓“/”就行啦,表示預設路徑,IP那一欄就不用輸入了,為什麼呢?因為在http請求預設值裡面已經輸過啦,以後可以新建多個http請求,只要修改路徑就行了,這樣就可以訪問同一個網站的不同頁面,這就是“http請求預設值”的意義所在,把一些共用的設定寫一遍就好了。接著,我們再右擊“執行緒組”——“新增”——“監聽器”——“察看結果數”,在這裡可以檢視到http請求和結果。每次新建元件和修改配置資訊都要點選儲存,好了,頁面配置圖如下所示:

    


    現在我們點選工具欄的綠色執行按鈕,就可以在“察看結果樹”中看到結果了


    我們新建的“http請求”返回結果200,表明請求成功,從綠色打鉤也能看出,上圖中的下拉列表框可以選擇顯示格式,我們選擇HTML,切換到“響應資料”就可以看到返回頁面,也就是百度首頁。

    步驟三  設定執行緒併發數

    剛剛我們完成了一個簡單的測試,你也應該感覺到自己啥也沒幹,就能測試了,其實不然,我們點選“執行緒組”可以看到執行緒組的設定頁面,預設設定1個執行緒,1秒啟動,迴圈1次。執行緒數表示啟動多少個執行緒,Ramp-Up Period表示花多長時間啟動所有執行緒,迴圈次數表示每個執行緒的執行次數,例如,我設定執行緒數10,Ramp-Up Period為10,迴圈次數2,表示軟體將在10秒內啟動10個執行緒,也就是1秒啟動1個執行緒,每個執行緒執行兩次請求。


    此外,我們還可以勾選“排程器”,比如我填入持續時間100,啟動延遲0,將迴圈次數勾選“永遠”,表示執行緒立即啟動,執行100秒後停止,注意,如果設定了持續時間和啟動延遲,那麼下面的啟動時間和結束時間就不起作用了,也就不用管了,點選執行即可。

    步驟四  設定其他監聽器

    之前我們僅僅設定了“察看結果樹”這個監聽器,我們右擊“執行緒組”——“新增”——“監聽器”,裡面有好多監聽器可供選擇,比如圖形結果,用表格檢視結果,聚合報告等等,這些都是反映測試過程的指標資料。圖形結果以圖形的形式顯示吞吐量、偏移、平均值等資訊,表格結果顯示每一次請求的時間,返回,傳送位元組數,連線時間等等,聚合報告裡面顯示總體請求的吞吐量,錯誤率等等。下圖為表格結果的樣式。


    可以看出,圖中顯示了20個Http請求,分別由10個執行緒執行,每個執行緒執行兩次,正好符合我們對於執行緒組的設定。圖中每一列的含義分別表示請求序號,開始時間,執行緒序號,請求名,請求所花的時間,請求狀態,請求位元組數,傳送位元組數,等待時長,連線時間。

    聚合報告如下圖所示,每一列的含義分別表示請求名稱,請求總數,請求的平均響應時間(毫秒),50%的請求的響應時間,90%的請求的響應時間,95%的請求的響應時間,99%的請求的響應時間,最小的響應時間,最大的響應時間,錯誤的請求率(錯誤請求數/總的請求數),吞吐量(每秒處理的請求數),接收的位元組速率,傳送的位元組速率。


    步驟五  登入測試

    前面我們測試的頁面是不需要登入的,現在我們來測試一下登入操作,由於登入操作涉及到具體的內部網址和引數,我這裡就用一般網址和引數代替,但是方法是一樣的,例如,我們內網IP是1.1.1.1,登入頁面是1.1.1.1/login.do,我們將1.1.1.1填入“http請求預設值”,將/login.do填入“http請求”的路徑裡面,關於登入需要的引數我要特別說明一下,一般來說就是使用者名稱和密碼,但是往往還需要其他引數,我們可以通過抓包工具Fiddler進行抓包,我們在網站中進行一次正常登入,可以在Fiddler中看到登入需要的post引數,例如Fiddler中顯示登入操作post引數有username,password,type,那麼需要在“http請求”裡面填入,下圖所示。


    點選“新增”按鈕就可以新增引數了,儲存好後,我們點選執行,就可以在察看結果樹中看到登入成功後的頁面了,具體的操作和前面一樣的。

    步驟六  會話保持

    我們進入登入後的頁面後,我還想訪問例如“我的賬戶”,“我的資訊”等模組怎麼辦,這些網頁需要登入成功後才能訪問到,這裡我們就需要進行會話的保持,我們右擊“執行緒組”——“新增”——“配置元件”——“httpcookie管理器”,要新增的內容我們可以在察看結果樹的“請求”選項卡里面看到,裡面可以看到登入需要的cookie,例如JSESSIONID,我們將JSESSIONID填入cookie管理器的引數裡面,如下


    此時,我們在http請求裡面輸入登入後的頁面網址,例如“我的資訊”等等,就可以請求成功啦。

    步驟七  檔案讀取網址

    我們在“http請求”的路徑裡面填入的是我們要訪問的網頁,每次只能填一個,假如我想訪問好幾個網頁,例如首頁,通知頁,公司介紹頁等等,除了新建http請求外,我們還可以將這些網頁的地址儲存在TXT檔案裡,例如,我要訪問1.1.1.1/index.do,1.1.1.1/information.do,1.1.1.1/company.do,我們可以這樣


    網址填入後,我們在Jmeter裡面的“選項”——“函式助手對話方塊”——“StringFromFile”,將TXT的完整路徑貼到圖中位置,點選生成,可以在框裡生成TXT檔案的讀取路徑。


    我們將$開頭的那串路徑貼到“http請求”的路徑裡面,就可以訪問到TXT裡面的所有網頁啦,如圖所示。


    步驟八  伺服器狀態實時監聽

    上面我們介紹了幾個Jmeter自帶的監聽器,不知你是否感覺到有一點點無力,因為裡面顯示的指標好像都不是你特別需要的,至少對於我來說,我更關心我的請求執行過程中伺服器狀態的改變,例如CPU,記憶體,磁碟,網路,TPS,響應時間圖等等,因為這才是壓力測試的目的所在,伺服器狀態隨著請求增加的變化曲線才是我們更加需要看到的。想看到伺服器變化的曲線圖,我們需要下載JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar,將這兩個jar包放入Jmeter的安裝路徑下的lib/ext/下面,重啟Jmeter後,右擊“執行緒組”——“新增”——“監聽器”,我們可以看到多了好多監聽器,大多數以“[email protected]”開頭的監聽器,我們選擇“PerfMon Metrics Collector”,裡面將會顯示伺服器的狀態資訊,現在還看不到,為什麼,因為要測試的伺服器需要安裝一個包,叫ServerAgent.zip,比如我的伺服器是linux,我們將ServerAgent在伺服器中解壓,執行裡面的startAgent.sh就可以啦,啟動起來後可以看到如下


預設埠是4444,在這裡我要插一句,我當時執行後通過Telnet始終ping不到4444埠導致顯示不了,後來改成4445埠啟動就可以了,具體的伺服器命令是ServerAgent-2.2.3/startAgent.sh--udp-port 4445 --tcp-port 4445,這樣就表示將serverAgent在4445埠啟動,你可以將4445換成其他埠,如果預設的4444埠不行的小夥伴可以試試其他埠哦。好了,我們回到Jmeter軟體,按下圖填入伺服器的地址和埠號,以及需要監控的硬體,如CPU,記憶體,磁碟,網路等等。


    好了,我們點選執行,可以在chart下看到伺服器的狀態變化曲線啦


    怎麼樣,是你想要的吧,其實監聽器裡面還有很多其他的曲線,看英文就知道,比如TPS曲線,響應時間曲線等等,這些你都可以自己新增,我就不贅述啦。好了,本篇部落格的內容就到這了,有什麼不對的地方歡迎評論,我們一起討論一起進步,謝謝!

相關推薦

Jmeter壓力測試簡單教程包括伺服器狀態監控

步驟一  安裝Jmeter     我用的版本是3.1版本,為什麼是3.1,因為3.2有問題,我也是跑了一段時間後才知道3.2版本太新了還是什麼的,有些功能就是不行,在此建議大家,不要輕易使用最新版本,次新版本就可以了。安裝好了之後Jmeter的bin目錄下有個Jmet

Jmeter壓力測試簡單教程包括伺服器狀態監控

    前段時間公司需要對伺服器進行壓力測試,包括登入前的頁面和登入後的頁面,主要目的是測試負載均衡的實現效果。不知道是不是因為Jmeter不如loadRunner火爆還是什麼,網上關於Jmeter的資料有很多但是大多千篇一律,要麼簡單弄個頁面測試一下,要麼全篇都是介紹很多和Jmeter無關的第三方工具,看起

Jmeter壓力測試簡單示例教程

Jmeter是一個非常好用的壓力測試工具。  Jmeter用來做輕量級的壓力測試,非常合適,只需要十幾分鍾,就能把壓力測試需要的指令碼寫好。什麼是壓力測試 顧名思義:壓力測試,就是  被測試的系統,在一定的訪問壓力下,看程式執行是否穩定/伺服器執行是否穩定(資源佔用情況)比如

JmeterJmeter壓力測試簡單示例

2018年10月31日 15:22:58 洛陽紙貴 閱讀數:3 標籤: 壓力測試 入門教程

JMeter壓力測試入門教程[圖文]

https://blog.linuxeye.com/335.html Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試但後來擴充套件到其他測試領域。 它可以用於測試靜態和動態資源例如靜態檔案

JMeter壓力測試案例大全 之郵件伺服器測試和元件介紹)

目錄 1.jmeter安裝 2.資料庫的壓力測試 3. ftp伺服器的壓力測試 4. sftp的壓力測試(缺) 5.http請求的壓力測試 6. socket的壓力測試 7.郵件伺服器測試 7.1基於命令列 7.2基於介面 8.元件介紹 9.1執行緒組 9.2控制器 9.3

JMeter壓力測試案例大全之ftp伺服器和sftp)

目錄 1.jmeter安裝 2.資料庫的壓力測試 3. ftp伺服器的壓力測試 4. sftp的壓力測試(缺) 5.http請求的壓力測試 6. socket的壓力測試 7.郵件伺服器測試 7.1基於命令列 7.2基於介面 8.元件介紹 9.1執行緒組 9.2控制器 9.3

Jmeter 壓力測試生成HTML測試報告腳本方式執行)

bfc ima 文檔 ESS size 備註 rep suse mage 一、輸入以下命令:1、開到doc 命令輸入:cd C:\Users\issuser\Desktop\lamw備註:文件夾中必須有test.jmx 文件 2、繼續在doc 輸入:D:\soft\apac

PHP測試與優化-- Apache自帶的壓力測試工具abapache bench) - 簡單使用

一、測試工具: Apache 壓力測試工具ab ab是針對apache的效能測試工具,可以只安裝ab工具。 ubuntu安裝ab apt-get install apache2-utils centos安裝ab yum install httpd-tools 命令:

jmeter壓力測試值之配置JDBC Connection Configuration一)

一、下載mysql jar包 下載mysql jar包 http://dev.mysql.com/downloads/connector/j/ 網盤下載地址:mysql-connector-java-commercial-5.1.25-bin.jar 檢視jar包支援的mysql版本:http://d

JMeter壓力測試併發測試入門篇)

    jmeter是apache公司基於java開發的一款開源壓力測試工具,體積小,功能全,使用方便,是一個比較輕量級的測試工具,使用起來非常簡單。因為jmeter是java開發的,所以執行的時候必須先要安裝jdk才可以。jmeter是免安裝的,拿到安裝包之後直接解壓就可以使用,同時它在linu

JMeter壓力測試案例大全 之http測試和socket測試

目錄 1.jmeter安裝 2.資料庫的壓力測試 3. ftp伺服器的壓力測試 4. sftp的壓力測試(缺) 5.http請求的壓力測試 6. socket的壓力測試 7.郵件伺服器測試 7.1基於命令列 7.2基於介面 8.元件介紹 9.1執行緒組 9.2控制器 9

Jmeter介面測試-簡單分析結果數、聚合報告以及圖形結果二)

簡單分析結果數、聚合報告以及圖形結果 結果樹 取樣器結果:返回值報200,表示執行介面除錯成功 請求:傳送的資料 響應資料:返回的資料 Thread Name:執行緒組名稱 Sample Start: 啟動開始時間 Load time:

Jmeter從下載到完成效能測試實戰教程Windows平臺)

前言 本教程內容龐大,所以儘量寫的精簡,沒有寫出指令碼的具體編寫步驟,有興趣的朋友可以下載Demo後和教程對照著看。 請求的服務端,是通過服務端模擬器來生成的。可以下載Mock服務端模擬器,設定與教程相同的請求地址來學習。 Demo下載地址:點選下載 Moc

JMeter介面壓力測試實戰教程

章節一壓力測試課程介紹 1、2018年億級流量壓測系列之Jmeter4.0課程介紹和效果演示          簡介:               講解課程安排,使用的Jmeter版本               講課風格:涉及的元件,操作配置多,不會一次性講解,

jmeter視頻教程_從零上手全面精通JMeter壓力測試

項目 list 壓力測試 解決 性能測試 ofo 知識體系 不同類 介紹 課程下載:https://pan.baidu.com/s/1qSX3_gDjWraUfVmwRgcJ2g 提取碼:ei00 本課程環境基於JDK1.8,最新版JmeterV5.1.1,課程從基礎

fullpage.js簡單教程一)

style 準備工作 iba 耐心 兼容性 css3 動畫 lin per orm 最近準備做一個全屏滾動的網頁,在網上搜了一堆教程,結果大多都是一些很籠統的使用方法,對我這種耐心不超過3秒的笨蛋來說,很晦澀很籠統,所以打算邊研究邊自己寫個教程,有什麽不懂的,我再回來翻看筆

JMeter壓力測試

雙擊 而不是 測試 數據 height 線程數 tro gpo http JMeter在windows下圖形界面的使用: 下載: 解壓後: 雙擊打開: 壓測不帶參數的接口: 然後保存,查看結果:

Jmeter壓力測試生成聚合報告

數據 style 測試 壓測 處理 nbsp 時間 ima ali Jmeter壓力測試: 壓力測試的場景設置分為三種: 單場景:一個請求(如:單個接口的測試) 混合場景:多個請求(如:購物流程的測試) 壓測時間,一般場景都是運行10-15分鐘,如果是做疲勞測試的話,可以壓

jmeter 壓力測試

char 執行 服務器 pop txt orm 錯誤 顯示 時長 轉自: https://blog.csdn.net/cbzcbzcbzcbz/article/details/78023327 Jmeter壓力測試簡單教程(包括服務器狀態監控) 2017年09月18日