作為一個測試行業的菜鳥,由於投身於一個小公司,包攬所有的測試。剛開始的功能測試到接口測試,穩定性測試,兼容性測試等,一般由於是小項目所以對於性能有所忽略,也沒怎么涉及,公司接了個大項目,后期對於性能上有一定的要求,對於並發用戶要求也是比較高的,所以利用項目之間的空隙自學下。
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等

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數據庫驅動配置
http://blog.csdn.net/smj811504083/article/details/70844703
測試計划>線程組>JDBC Connect Configuration,JDBC request,察看結果樹
(1)JDBC Connect Configuration

(2)JDBC request

(3)運行

出現的問題:“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文件:

b.Bean Shell Sample
注意:
(1)寫完的每個語句后面必須加上分號;
(2)csvread取值方式以線程為主,循環取值
也可以參考:傳送門
