1、解壓后進入bin目錄,執行 jmeter -v查看是否成功,報以下錯誤
main ERROR FileManager (jmeter.log) java.io.FileNotFoundException: jmeter.log (Permission denied) java.io.FileNotFoundException: jmeter.log (Permission denied)
解決方案:在bin目錄下手動創建Jmeter.log文件並賦予執行權限 chmod 777 jmeter.log
nmon在/home/atapserver/nmon路徑下
2、跑腳本:jmeter -n -t /home/mcbadm/jmeter-test/atap.jmx -l /home/mcbadm/jmeter-test/atap.jtl
jmeter -n -t /home/mcbadm/jmeter-test/atap.jmx -r -l /home/mcbadm/jmeter-test/atap.jtl -e -o/home/mcbadm/apache-jmeter-5.2.1/resultReport
進入Jmeter啟動位置: cd /home/mcbadm/apache-jmeter-5.2.1/bin
報以下錯誤:
Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from:'/home/mcbadm/jmeter-testscript'. Cause: CannotResolveClassException: kg.apc.jmeter.vizualizers.CorrectedResultCollector
原因:Jmx腳本中包含其他插件的內容,需先刪除或者先安裝插件
安裝插件:
將jmeter-plugins-manager-1.4.jar,JMeterPlugins-Extras.jar,JMeterPlugins-Standard.jar上傳到服務器jmeter安裝目錄的lib/ext
3、輸出dashboard網頁版結果輸出,加上-e -o參數,需要確保report文件夾是不存在或為空
jmeter -n -t /home/mcbadm/atap.jmx(測試腳本) -l atap.csv(測試結果) -e -o /home/mcbadm/apache-jmeter-5.2.1/report(放index.html文件的目錄)
4、報錯:
報錯信息: Configuring remote engine: 127.0.0.1 Exception creating connection to: 127.0.0.1; nested exception is: java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory) Failed to configure 127.0.0.1 Stopping remote engines Remote engines have been stopped Error in NonGUIDriver java.lang.RuntimeException: Following remote engines could not be configured:[127.0.0.1] An error occurred: Error in NonGUIDriver Following remote engines could not be configured:[127.0.0.1]
解決方案:
修改server.rmi.ssl.disable=true (記得去除server.rmi.ssl.disable=true前的#)
5、linux在文件編輯頁面查找內容 用 /+查找內容,回車,按n向下查找
6、jmeter輸出結果如果結果文件名稱一致,需要將原輸出文件內容清除,否則輸出結果疊加
7、jmeter運行過程注意點:
(1)相同文件名的文件注意清除,否則輸出結果會疊加
(2)配置/bin/user.properies文件,添加以下配置(可在GUI模式下配置並打開html文件)
#--------------------------------------------------------------------------- # Reporting configuration #--------------------------------------------------------------------------- jmeter.save.saveservice.output_format=csv jmeter.save.saveservice.bytes = true jmeter.save.saveservice.label = true jmeter.save.saveservice.latency = true jmeter.save.saveservice.response_code = true jmeter.save.saveservice.response_message = true jmeter.save.saveservice.successful = true jmeter.save.saveservice.thread_counts = true jmeter.save.saveservice.thread_name = true jmeter.save.saveservice.time = true # the timestamp format must include the time and should include the date. # For example the default, which is milliseconds since the epoch: jmeter.save.saveservice.timestamp_format = ms # Or the following would also be suitable jmeter.save.saveservice.timestamp_format = yyyy/MM/dd HH:mm:ss jmeter.save.saveservice.assertion_results_failure_message = true
# Configure this property to change the report title #jmeter.reportgenerator.report_title=Apache JMeter Dashboard # Change this parameter if you want to change the granularity of over time graphs. # Granularity must be higher than 1000 (1second) otherwise Throughput graphs will be incorrect # see Bug 60149 #jmeter.reportgenerator.overall_granularity=60000 Change this parameter if you want to change the granularity of Response time distribution # Set to 500 ms by default #jmeter.reportgenerator.graph.responseTimeDistribution.property.set_granularity=500 # Change this parameter if you want to override the APDEX satisfaction threshold. jmeter.reportgenerator.apdex_satisfied_threshold=1500 # Change this parameter if you want to override the APDEX tolerance threshold. jmeter.reportgenerator.apdex_tolerated_threshold=3000 # Sets the destination directory for generated html pages, it is better to change it for every generation # This will override the value set through -o command line option # jmeter.reportgenerator.exporter.html.property.output_dir=/tmp/test-report # Indicates which graph series are filtered (regular expression) # In the below example we filter on Search and Order samples # Note that the end of the pattern should always include (-success|-failure)?$ # Transactions per second suffixes Transactions with "-success" or "-failure" depending # on the result #jmeter.reportgenerator.exporter.html.series_filter=^(Search|Order)(-success|-failure)?$ # Indicates whether series filter apply only on sample series jmeter.reportgenerator.exporter.html.filters_only_sample_series=true
(3)配置完成后,可將在GUI輸出結果jtl文件轉化為html解析文件,方便分析(解析需要一定時間)
jmeter -g atap.jtl -e -o D:\2020\linux\resultReport(最后必須是空目錄或者不存在目錄,否則會報錯)
(4)打開index文件會有分析圖表
8、報錯信息如下:
Error in NonGUIDriver com.thoughtworks.xstream.io.StreamException
解決方案:在testplan層進行保存,而非thread層
9、參數化文件拷貝到負載機上的路徑要保持一致,因此負載機的系統要統一
10、分布式壓測:
(1)選擇GUI界面的Jmeter作為controller遠程啟動slave
(2)slave跟controller的jmeter跟jdk版本需要保持一致
(3)在controller的jmeter.properties配置slave的主機跟端口,有多個則用 , 隔開
remote_hosts=XXXXXXXXXXXX:port
(4)修改slave的jmeter.properties為本機主機ip,端口可以在server.rmi.localport = 1099處設置(若有多台slave則重復)
slave:在slave機的Jmeter的bin目錄下,找到jmeter.properties文件,修改如下兩個配置項,比如我這里修改為1888:
server_port=1888
server.rmi.localport=1888
remote_hosts=ip
(5)啟動:在controller遠程啟動slave,注意用-r 參數
注意:啟動controller前需要先啟動slave,進入Bin目錄執行Jmeter-server
命令行遠程啟動用:controller
- jmeter -n -t 監聽設置.jmx -r -l log.jtl
- 參數說明 :
-n 告訴jmeter使用非GUI模式執行測試
-t 執行的測試腳本名
-r 遠程執行 , 在Jmter.properties文件中指定的所有遠程服務器
-l 結果文件,如果不寫路徑,則在執行目錄生成
11、controller的日志看bin目錄下面的jmeter.log
壓力機的日志看bin目錄下面的jmeter-server.log