使用JMeter做性能测试&记录测试报告简介

1 jmeter下载:https://jmeter.apache.org/download_jmeter.cgi
     使用JMeter做性能测试&记录测试报告简介

2 启动jmeter
    解压zip包,进入到bin目录,双击jmeter.bat启动,会打开一个cmd窗口和GUI窗口
         使用JMeter做性能测试&记录测试报告简介
         使用JMeter做性能测试&记录测试报告简介
    cmd窗口的大致意思是不要使用GUI运行压力测试,GUI仅用于压力测试的创建和调试;执行压力测试请不要使用GUI,请使用下面的命令
    jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]进行测试,并可以通过命令修改HEAP:
    HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m".以上就是cmd窗口的大致意思
    
    如果看不懂英语,可以更改语言为中文
         使用JMeter做性能测试&记录测试报告简介
3 开始创建测试
    ①添加线程组,在“测试计划”上右键 【添加】-->【Threads(Users)】-->【线程组】。
         使用JMeter做性能测试&记录测试报告简介
        设置线程数和循环次数
         使用JMeter做性能测试&记录测试报告简介
    ②配置元件
        刚创建的线程组上右键 【添加】-->【配置元件】-->【HTTP请求默认值】,配置我们需要进行测试的程序协议、地址和端口
         使用JMeter做性能测试&记录测试报告简介
    ③构造http请求,在线程组右键 【添加-】->【取样器】-->【HTTP 请求】设置我们需要测试的API的请求路径和数据
         使用JMeter做性能测试&记录测试报告简介
    ④添加http请求头,线程组上右键 【添加】-->【配置元件】-->【HTTP信息头管理器】,我这里不需要填写,如果是json可以添加
        名称contentType,值为application/json
         使用JMeter做性能测试&记录测试报告简介
    ⑤添加断言,这里我只判断响应状态吗为200的
     使用JMeter做性能测试&记录测试报告简介
    ⑥添加查看结果树,线程组上右键 【添加】-->【监听器】-->【察看结果树】。直接添加,然后点击运行(会提示保存)按钮就可以看到结果了
         使用JMeter做性能测试&记录测试报告简介
    ⑦添加汇总报告,线程组上右键 【添加】-->【监听器】-->【汇总报告】,然后启动
         使用JMeter做性能测试&记录测试报告简介
4 执行测试
    前面我们说过,执行测试计划不能用GUI,需要用命令行来执行(到bin目录下启动cmd),命令格式如下:
        jmeter -n -t 测试线程名 -l 结果树存放路径 -e -o web汇总报告路径
    其中:-n代表不使用GUI,-t代表测试线程,我的测试示例
        jmeter -n -t bjggwhytestplan/recommend/推荐页测试.jmx -l  bjggwhytestplan/recommend/result.txt -e -o                  bjggwhytestplan/recommend/
    win10报错
         使用JMeter做性能测试&记录测试报告简介
    都提示信任的话使用.\jmeter...  当然信任,中间再次提示recommend文件下不为空,所以在recommend下新建webreport文件夹,最终命令如下:
     .\jmeter -n -t bjggwhytestplan/recommend/推荐页测试.jmx -l  bjggwhytestplan/recommend/result.txt -e -o      bjggwhytestplan/recommend/webreport
     使用JMeter做性能测试&记录测试报告简介
    打开webreport文件夹,里面有个index.html,打开可以看到测试报告,测试报告解析参考:
        https://blog.****.net/qq_24373725/article/details/78952447
     使用JMeter做性能测试&记录测试报告简介
    最后多次测试结果会更为准确
5 关于测试报告,需要有以下几个方面
    ①测试背景,测试目的(如找出PC/H5页面&接口性能瓶颈,主要测试不同并发数时接口&页面响应时间,根据各项测试数据分析数据加载慢的原因)
    ③评判标准
        
 使用JMeter做性能测试&记录测试报告简介
业务    平均响应时间    满意度(用户感受)       
网页单项    <2s    良好       
    3s-5s    一般       
    5s-10s    较差       
    >10s    难以忍受       
网页综合    <2s    良好       
    3s-5s    一般       
    5s-10s    较差       
    >10s    难以忍受       
接口单项    <200ms    良好       
    200ms-500ms    一般       
    500ms-1000ms    较差       
    >1s    难以忍受       
接口综合    <200ms    良好       
    200ms-500ms    一般       
    500ms-1000ms    较差       
    >1s    难以忍受       
             

    ④测试范围
    ⑤测试环境
         使用JMeter做性能测试&记录测试报告简介
    ⑥测试执行
         使用JMeter做性能测试&记录测试报告简介
    ⑦服务器资源使用情况
         使用JMeter做性能测试&记录测试报告简介
    ⑧测试讨论:
        1.    整个测试执行服务器的CPU&内存使用率波动很小,基本看不出变化,排除服务器瓶颈;
        2.    部分接口&页面在很少用户访问下,接口响应时间就超过1000ms,页面时间超过2s。如文化资讯一个用户访问页面和接口响应时间超过3s。排除            服务器性能和本地网络性能,可能需要优化程序;
        3.    首页1s内访问200个用户时页面访问时间超过6s,且页面请求有报错,错误码502,应该是服务器报错,需要查看服务器日志;
        4.    对比H5端首页和PC端首页,相同线程并发数接口响应时间差不多,页面访问时间相差比较大。如100个用户并发,PC端页面响应时间超过2s,H5            端页面响应时间100ms内;
        5.    每个页面10个线程同时访问,超过一半的接口超过1s,一半的页面响应时间超过2s,文化资讯页面响应时间超过35s。