zoukankan      html  css  js  c++  java
  • linux中使用Jmeter压测总结

    一、准备工作

    1、先在Windows上的JmeterGUI模式)上调试好我们的jmx脚本

    2、Linux上安装好jmeter,并把jmx脚本上传到linux上面

    3、解压jmeter,进入bin目录下

     

    二、执行

    1、执行命令:jmeter -n -t {测试脚本jmx的路径} -l {测试jtl生成路径} -e -o {html测试报告路径}

    其中:

    -h 帮助

    -n GUI模式

    -t 指定要运行的 JMeter 测试脚本文件

    -l 记录结果的文件 每次运行之前,(要确保之前没有运行过,xxx.jtl不存在,不然报错)

    -r Jmter.properties文件中指定的所有远程服务器

    -e 在脚本运行结束后生成html报告

    -o 用于存放html报告的目录(目录要为空,不然报错)

     

    2脚本性能优化:

    2.1使用非GUI模式:jmeter -n -t test.jmx -l result.jtl

    2.2少使用Listener, 如果使用-l参数,它们都可以被删除或禁用。

    2.3在加载测试期间不要使用查看结果树查看结果表监听器,只能在脚本阶段使用它们来调试脚本。

    2.4包含控制器在这里没有帮助,因为它将文件中的所有测试元素添加到测试计划中。]

    2.5不要使用功能模式,使用CSV输出而不是XML

    2.6只保存你需要的数据,尽可能少地使用断言

    2.7如果测试需要大量数据,可以提前准备好测试数据放到数据文件中,以CSV Read方式读取。

    2.8用内网压测,减少其他带宽影响压测结果

    2.9如果压测大流量,尽量用多几个节点以非GUI模式向服务器施压

    三、测试报告的解析

    1、dashboard界面

    1Test and Report informations

    Source filejtl文件名

    Start Time :压测开始时间

    End Time :压测结束时间

    Filter for display:过滤器

    Lable:sampler采样器名称

    2APDEX(Application performance Index)

    apdex:应用程序性能指标,范围在0~1之间,1表示达到所有用户均满意

    T(Toleration threshold):可接受阀值

    F(Frustration threshold):失败阀值

    3Requests Summary

    OK:成功率

    KO:失败率

    4Statistics 统计数据

    lable:sampler采样器名称

    samples:请求总数,并发数*循环次数

    KO:失败次数

    Error%:失败率

    Average:平均响应时间

    Min:最小响应时间

    Max:最大响应时间

    90th pct: 90%的用户响应时间不会超过这个值(关注这个就可以了)

    2ms,3ms,4,5,2,6,8,3,9

    95th pct: 95%的用户响应时间不会超过这个值

    99th pct: 99%的用户响应时间不会超过这个值 (存在极端值)

    throughtput:Request per Second吞吐量 qps

    received:每秒从服务器接收的数据量

    send:每秒发送的数据量

    2、Charts

    1)Over Time(随着时间的变化)

    Response Times Over Time:响应时间变化趋势

    Response Time Percentiles Over Time (successful responses):最大,最小,平均,用户响应时间分布

    Active Threads Over Time:并发用户数趋势

    Bytes Throughput Over Time:每秒接收和请求字节数变化,蓝色表示发送,黄色表示接受

    Latencies Over Time:平均响应延时趋势

    Connect Time Over Time :连接耗时趋势

    1)Throughput

    Hits Per Second (excluding embedded resources):每秒点击次数

    Codes Per Second (excluding embedded resources):每秒状态码数量

    Transactions Per Second:即TPS,每秒事务数

    Response Time Vs Request:响应时间和请求数对比

    Latency Vs Request:延迟时间和请求数对比

    1)Response Times

    Response Time Percentiles:响应时间百分比

    Response Time Overview:响应时间概述

    Time Vs Threads:活跃线程数和响应时间

    Response Time Distribution:响应时间分布图

    四、分布式运行

    1、Master主机上,不管是Windows还是Linux,都需要更改jmeter.properties

    (1) remote_hosts=192.168.25.132:8899,192.168.25.133:8899,192.168.25.134:8899

    ① 更改Slave(肉鸡)的地址,多个肉鸡之间用逗号分隔

    (2) server_port=8899

    ① 启动服务的端口号

    (3) server.rmi.ssl.disable=true

    ① 允许https协议,ssl的开启

    2、Slave(肉鸡)上的设置,不管是Windows还是Linux,都需要更改jmeter.properties

    (1) server_port=8899

    ① 启动服务的端口号

    (2) server.rmi.ssl.disable=true

    ① 允许https协议,ssl的开启

    3、GUI上启动远程测试

    4、Linux上启动远程测试:-r 使用远程分布式压测

    jmeter -n -t {测试脚本jmx的路径} -r -l {测试jtl生成路径} -e -o {html测试报告路径}

    5、常见问题:

    (1) 内存不够,更改JVM内存,详情百度,不可大于运行内存的一半

    (2) 关闭防火墙:

    ① 暂时关闭:service  iptables stop

    ② 永久关闭:chkconfig iptables off

    (3) hostname没有映射当前的ip(可能映射的是localhost或者其他),修改即可

  • 相关阅读:
    Fitness
    【代码优化】Unity查漏补缺
    Fitness
    MonoBehaviour生命周期与对象数据池应用
    Fitness
    点、向量、方向在局部与世界坐标系转换的对比
    在企业运营中的感触
    技术杂想2015年夏天
    Heimich manoeuvre 海姆利克氏操作
    徒手CPR心脏复苏
  • 原文地址:https://www.cnblogs.com/wangxiaoqun/p/12800109.html
Copyright © 2011-2022 走看看