Jmeter 是一個強大的併發壓測工具,經常使用於性能測試,壓力測試,接口測試等領域。本文將介紹以下內容:css
1. Jmeter 執行階梯式壓測java
2. Jmeter 如何壓測網站的js,css 等資源linux
3. 在Linux 系統上如何執行Jmeter壓測chrome
啓動jmeter,添加線程組——jp@gc - Stepping Thread Group,以下圖:apache
Stepping Thread Group界面以下:windows
功能以下:瀏覽器
This group will start 100 threads:設置線程組啓動的線程總數爲100個;服務器
First,wait for N seconds:啓動第一個線程以前,須要等待N秒;網絡
Then start N threads:設置最開始時啓動N個線程;併發
Next,add 10 threads every 30 seconds,using ramp-up 5 seconds:每隔30秒,在5秒內啓動10個線程;
Then hold load for 60 seconds:啓動的線程總數達到最大值以後,再持續運行60秒;
Finally,stop 5 threads every 1 seconds:每秒中止5個線程;
這裏建議使用瀏覽器錄製的方式。
最好使用firefox進行錄製操做,試過使用chrome,會有未知錯誤。
點擊 「工做臺」,而後右鍵,根據以下圖步驟,添加一個代理服務器。
添加以後,界面以下圖
注意上面端口號我用紅圈給標註出來,下面的步驟咱們就須要利用這個端口來錄製,接下來會使用端口和目標控制器來管理錄製腳本。
打開火狐瀏覽器,找到高級-網絡-設置-設置代理。
下面咱們設置填寫 localhost 和端口8082
上面除了能夠寫localhost,還能夠輸入127.0.0.1,這裏我設置端口成8082,點擊肯定,瀏覽器不要關閉。
在 工做臺 下點擊前面添加的代理服務器,右鍵,點擊添加,添加一個邏輯控制器下的錄製控制器。
添加完是這樣的,咱們能夠給這個錄製控制器重命名下,例如咱們錄製百度,那麼咱們就寫百度新聞(BaiDu_News),待會錄製首頁點擊新聞連接。
點擊HTTP代理服務器,切換到代理服務器配置界面,修改如下兩處紅圈位置。
第一個是端口號,和咱們在火狐瀏覽器裏面設置的端口保持一致,第二個是選擇咱們百度新聞這個錄製控制器,也就是說,接下來咱們錄製的腳本都是在百度首頁點擊新聞。注意到這個頁面還有一個啓動和中止錄製的按鈕,接下來介紹。
點擊代理服務器右側裏面的啓動錄製按鈕,彈出一個根證書的彈窗,點擊肯定。
咱們開始手動在火狐瀏覽器地址欄手動輸入www.baidu.com,等頁面加載完成,,而後點擊展開BaiDu_News這個錄製控制器,能夠看到不少請求,包括js,css,gif等等
注意:可能在錄製點擊新聞過程當中,出現「代理服務器拒絕鏈接」的錯誤。通常來講,由於你設置了代理,只有JMeter沒有啓動錄製,你直接在火狐瀏覽器操做點擊新聞,應該會報這個錯誤。可是錄製過程當中也有可能,這個就是JMeter代理錄製腳本不穩定性的一面。
經過上面的一二兩步,已經能夠完成腳本部分的製做。通常的測試壓力機是使用linux服務器,那麼須要進入linux環境進行操做。
下載一個適合你的linux版本的jdk,區分64位和32位,以下,執行解壓操做
建議複製文件從windows到linux 使用WinSCP,還挺方便
1. 解壓
tar -xvf jdk-10-linux-x64.tar.gz
2. vi /etc/profile
編輯文件,添加以下的內容到行尾,注意你的jdk解壓的位置是: java_home
JAVA_HOME=/usr/cmq/jdk1.8.0_11 JRE_HOME=${JAVA_HOME}/jre CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JRE_HOME}/lib/tools.jar PATH=${JAVA_HOME}/bin:$PATH export JAVA_HOME JRE_HOME CLASS_PATH PATH
3. source /etc/profile
4. java -version
成功顯示java版本表示成功。
1. 複製jmeter 壓縮包或者文件夾到linux系統
2. vi /etc/profile
export JMETER_HOME=/usr/apache-jmeter-3.3 export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:$CLASSPATH export PATH=$JMETER_HOME/bin:$PATH
3. source /etc/profile
4. jmeter -v
5. chmod 777 jmeter文件路徑
6.輸入命令:# jmeter -n -t /usr/src/step2.jmx -l log.jtl 執行腳本
7. 注意,通常jmeter的默認內存值是512M, 若是併發數高,運行直接報錯內存溢出,須要配置內存上下限,有兩種方式:
命令方式
java $JVM_ARGS -Xms1G -Xmx5G -XX:MaxPermSize=8192m -Dapple.laf.useScreenMenuBar=true -jar `dirname $0`/usr/apache-jmeter-3.3/bin/jmeter "$@"
直接vi 編輯
另外啓動一個鏈接,而後:
ps aux|grep jmeter
kill -9 XXX
查看1099端口是否被佔用
netstat -ano | findstr "1099"
tasklist | findstr "1099"
查看linux機器的內存,用於你設置jmeter的內存大小。
#cat /proc/meminfo | grep MemTotal
shutdown -r now 馬上重啓(root用戶使用)