天天看點

Jmeter性能測試-分布式壓力測試

作為一個測試行業的菜鳥,由于投身于一個小公司,包攬所有的測試。剛開始的功能測試到接口測試,穩定性測試,相容性測試等,一般由于是小項目是以對于性能有所忽略,也沒怎麼涉及,公司接了個大項目,後期對于性能上有一定的要求,對于并發使用者要求也是比較高的,是以利用項目之間的空隙自學下。

1.java運作環境

說是自學,但是對伺服器這些的概念還是很模糊的我,還是得先了解下軟體的運作環境,伺服器等概念才好下手。

由于正式的環境客戶是購買了阿裡雲的伺服器,是以了解了下簡單的流程

購買域名--購買伺服器(選擇作業系統Linux或者windows)--遠端桌面連接配接(本機下載下傳putty等軟體)--配置java運作環境在雲伺服器上--下載下傳tomcat在伺服器上--利用遠端軟體上傳源碼到伺服器上Apache

webapps的檔案夾下--打開tomacat檔案夾,修改配置檔案,添加購買的域名--備案,域名解析,這樣就可以通過域名通路網站了。

tomcat是一個伺服器的軟體,是以伺服器的性能測試也就是tomcat的性能測試

2.jmeter伺服器分布式性能測試

将jmetter的服務端安裝在伺服器上--确定并發數進而确定并發的電腦數--在需要分布式的代理計算機上配置環境--安裝jdk,java,jmeter等軟體--在主要制機上打開jmeter.properties的軟體搜尋remote,添加遠端

計算機的ip位址用逗号隔開--在伺服器上打開jmeter服務端的檔案jmeter-server.bat--在控制機上打開jmeter,添加線程(設定線程數即并發數),http請求,螢幕等--點選運作中的遠端啟動全部。完成分布式壓力測試

在性能分析上需要結合網絡,資料庫,代碼,伺服器等方面綜合分析性能瓶頸

伺服器性能測試,添加伺服器名額:

在伺服器端打開jmeter測試連接配接成功後,監控伺服器的性能名額,添加螢幕:jp@gc-PerMon Metrics Collector,添加監控的性能名額cpu,memeroy等

Jmeter性能測試-分布式壓力測試

3.布式測試注意點

單台電腦1000或者5000以上的并發無法支撐這麼大的并發數,需要分布式, 随着并發的增大,tps不會增長,即出現瓶頸(排除伺服器瓶頸及其他),可能是本測試機找不住了,則要分布式

進行分布式平台測試的時候,要最好注意以下幾點:

1. 防火牆應該關閉

2. 所有用戶端應該都在同一個子網中

3. 確定jmeter可以通路伺服器

4. 確定各個jmeter,java版本一緻,不同版本可能會存在協同問題

5.如果測試用到了外部資料檔案,那麼請注意這些檔案不會被JMeter用戶端分發,是以測試人員需要確定每台執行機上都儲存了這些資料檔案(其所在目 錄也必須正确)

(1)jmeter-properties:remote_hosts添加:遠端主機ip位址和端口号,以逗号分隔開

(2)設定後,主機的jmeter重新開機,點選【運作】>【遠端啟動】

出現的問題:運作後,遠端的響應資料為空

原因:測試的檔案以及資料的路徑不一緻

解決方案:遠端的測試檔案需要用到絕對路徑

4.資料庫性能測試

a.JDBC Connection-mysql資料庫驅動配置

測試計劃>線程組>JDBC Connect Configuration,JDBC request,察看結果樹

(1)JDBC Connect Configuration

Jmeter性能測試-分布式壓力測試

(2)JDBC request

Jmeter性能測試-分布式壓力測試

(3)運作

Jmeter性能測試-分布式壓力測試

出現的問題:“Cannot load JDBC driver class 'com.mysql.jdbc.Driver”,是因為缺少JDBC連接配接MySql的驅動包,是以需要手動添加驅動包。

解決方案:

下載下傳mysql-connector-java壓縮檔案:https://dev.mysql.com/downloads/file/?id=472651

解壓後将檔案放在jmeter的lib檔案夾下

在測試計劃中添加jar檔案:

Jmeter性能測試-分布式壓力測試

 b.Bean Shell Sample

注意:

(1)寫完的每個語句後面必須加上分号;

(2)csvread取值方式以線程為主,循環取值

也可以參考:傳送門

每天一點點,感受自己存在的意義。

繼續閱讀