壓力測試JMeter
- 1 下載JMeter
- 1.1 測試計劃
- 1.2 JMeter Address Already in use 錯誤解決
- 1.3 java 內存模型
- 1.4 jconsole與jvisualvm
- 1.5 優化方向
- 1.6 Nginx動靜分離
1 下載JMeter
官網地址:https://jmeter.apache.org/download_jmeter.cgi
運行apache-jmeter-5.6.3\bin\jmeter.bat
可以先設置為簡體中文
1.1 測試計劃
添加線程組用來模擬用戶
添加http請求的取樣器
添加監聽器下的查看結果樹
可選監聽器下的匯總報告/聚合報告
1.2 JMeter Address Already in use 錯誤解決
解決方案:調整端口連接超過5000的上限和端口回收時間。
Win+R 打開運行窗口 輸入regedit
來到計算機\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 下
1.右擊parameters,添加一個新的DWORD,名字為MaxUserPort
2.然后雙擊MaxUserPort,輸入數值數據為65534,基數選擇十進制(如果是分布式運行的話,控制機器和負載機器都需要這樣操作)
3.修改配置完畢后需要重啟才生效
參考:
https://support.microsoft.com/zh-cn/help/196271/when-you-try-to-connect-from-tcp-ports-greater-than-5000-you-receive-t
TCPTimedWaitDelay: 30
1.3 java 內存模型
java 內存模型
1.4 jconsole與jvisualvm
Win+R 輸入jconsole 啟動 jconsole控制臺
Win+R 輸入jvisualvm啟動jvisualvm控制臺
1.5 優化方向
1.中間件越多,性能損失越大,大部分都損失在網絡交互上了。
2.業務中的DB操作,模版渲染,靜態資源的加載都會消耗大部分io資源。
1.6 Nginx動靜分離
1.將所有項目的靜態資源都放在nginx里面
2.規則:/static/**所有請求都由nginx直接返回
關鍵配置在項目的nginx配置文件中配置
location /static/ {
root /usr/share/nginx/html;
}