日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java项目性能测试过程记录

發布時間:2025/6/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java项目性能测试过程记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一?準備環境和指標

1.主機三臺(linux,這里顯示的都是偽主機地址):最好用干凈的機子,做性能測試的時候別裝其他東西在上面跑。

100.22.0.98??部署自己的項目服務
?100.22.0.96??部署rpc服務(這里沒用到 可以不搞)
?100.22.0.97??部署jmeter (這是必須的) 2.統計指標:
TPS?Avg time(ms)cpu%mem%IO%(net)cpu%(client)IO%(client)

errors

注: 還可以統計gc情況,連接數等,我這里只列舉一部分。

?

3.測試標準

》》》線程: 1 ? ?20 ? ?50 ? 100 ? 200

》》》報文:10B ?1k ?2k ?4k ? 8k

?

二 準備jmx(需了解jmeter的基本使用)

這里使用jmeter3.3版本,直接在官網下載。

先在本地解壓運行,注意用管理員權限運行jemter.bat,否則無法保存jmx文件。

?

1.測試http連接,主要配置和元件如下圖,可以先用一個線程測試一下連通性,然后保存為一個jmx文件。保存之前先把線程組勾成永遠。

?

?2.junit連接測試 ?

這個稍微麻煩一點,需要先搞定代碼,把測試類寫好,然后打包自己的項目,可以使用maven打包,最好打成tar包之類的。如XXXX.tar.gz

解壓以后,你的test類在哪個jar包里,就把哪個jar包放到jemter對應的目錄下:如 C:\Program Files\jmeter\apache-jmeter-3.3\lib\junit ?

其余的所有依賴jar包都放到這個目錄下:C:\Program Files\jmeter\apache-jmeter-3.3\lib

類名稱就是你放在junit目錄里可選擇的測試類,還可以選擇對應的test方法。和上面一樣,用一個線程測試連通性之后就可以保存成jmx文件了。

3.部署環境

測試命令:./bin/jmeter -n -t jmx路徑 -l 輸出的日志文件

?機器上測http很簡單,把jmx文件全上傳到服務器,運行jmeter命令就行了。

?但是測試junit就需要向剛才在本地一樣,把對應的jar包放到junit目錄里,然后其他jar包放到lib目錄里。

?建議先做基線測試,就是一個線程分別跑10B?、1k等長度的報文,統計指標數據。

?

三 測試指標采集

97(client)機器上是這樣的:

通過上面這個圖可以看出兩個指標,TPS是163269/s左右,avg平均響應時間是0。 active是線程數。這里跑了200個線程來做測試。可以忽略第一條打印的結果,因為它把系統尋找時間之類的加上去了。

?用top命令看下內存和cpu使用量: cpu = us+sy = 24.3% ? ? ?mem = 4.5%

?

IO%(client) 這個指標的采集需要借助一個叫netstat的工具。

nicstat -M -i eth0(網卡名) 1s

?注: watch cat /proc/net/dev? ?(查看當前linux系統使用網卡,一般流量最大的網卡就是當前使用的)

還有一個叫磁盤使用量,也是借助一個叫dstat的工具,查看命令如下

dstat -d --disk-util?

?

98(server)機器上

?用top命令看下cpu和mem,然后記錄到表。用netstat命令采集IO%(net)。

?

五 JvisualVM 和 java飛行器

待監測應用打開jvisualvm端口

示例:

在wrapper打包的應用中的/etc/wrapper.conf中添加以下三行:

wrapper.java.additional.25=-Dcom.sun.management.jmxremote.port=8888 #端口可自行修改
wrapper.java.additional.26=-Dcom.sun.management.jmxremote.ssl=false
wrapper.java.additional.27=-Dcom.sun.management.jmxremote.authenticate=false #不開啟權限認證

#若需打開飛行器,只需多添加如下兩行:

wrapper.java.additional.28=-XX:+UnlockCommercialFeatures
wrapper.java.additional.29=-XX:+FlightRecorder

我本地是這樣的:配置好了重啟項目服務,通過jvisualvm和jmc訪問對應接口

?

?

還有一個據說很強大的神器叫JproFilter還有一個據說很強大的神器Jprofilter :

JProfiler性能分析:https://www.cnblogs.com/shoutn/p/7800829.html

轉載于:https://www.cnblogs.com/chaos-li/p/9811570.html

總結

以上是生活随笔為你收集整理的java项目性能测试过程记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。