• 阿里云linux安装jmeter并进行压测


     

    一、阿里云linux安装JDK

    1、下载安装JDK

    jdk官网,选择linux版本,下载并保存。

    (一)yum安装

    安装epel的yumyuan

    yum install epel-release -y

    查看yum源里当前jdk有哪些版本

    yum list | grep openjdk

    执行安装命令:

    yum install java-1.8.0 -y

    检查是否安装成功

    java -version

    (二)rpm安装

    官网下载rpm包

    xshell上传到服务器

    执行安装命令:

    rpm -ivh jdk-8u161-linux-x64.rpm

    检查是否安装成功

    java -version

    (三)tar安装

    官网下载tar.gz包

    xshell上传到服务器

    移动到/opt目录下:mv jdk-8u161-linux-x64.tar.gz /opt

    进入/opt目录:cd /opt

    解压:tar -zxvf  jdk-8u161-linux-x64.tar.gz 

    进入安装目录:cd jdk-8u161-linux-x64

    配置环境变量:

    vim ~/.bash_profile

    添加下面的内容

    export PATH="/opt/jdk1.8.0_161/bin:$PATH"

    然后保存退出,使用source命令更新这个文件,命令是:

    source ~/.bash_profile

    输出一下环境变量,命令是:

    echo $PATH

    检查是否安装成功

    java -version

    二、阿里云linux安装jmeter

    1、官网下载jmeter安装包,上传至/opt目录下,并解压

    cd /opt

    tar -zxvf apache-jmeter*

    2、配置环境变量

    vim /etc/profile

    增加如下代码

    #jmeter环境变量

    export PATH=/root/jmeter/bin:$PATH

    保存退出

    source /etc/profile让配置生效

    jmeter -v检查是否安装成功

    三、Jmeter非GUI模式压测

    非GUI界面,压测参数讲解

    • -h 帮助
    • -n 非GUI模式
    • -t 指定要运行的 JMeter 测试脚本文件
    • -l 记录结果的文件 每次运行之前,(要确保之前没有运行过,即xxx.jtl不存在,不然报错)
    • -r Jmter.properties文件中指定的所有远程服务器
    • -e 在脚本运行结束后生成html报告
    • -o 用于存放html报告的目录(目录要为空,不然报错)

    官方配置文件地址 http://jmeter.apache.org/usermanual/get-started.html

    jmeter -n -t linux_users_api.jmx -l result.jtl -e -o /usr/local/softwate/jmeter/temp/ResultReport

    jmeter -n -t /Users/jack/Desktop/linux_users_api.jmx -l result.jtl -e -o /Users/jack/Desktop/person/jmeter/temp

    四、html可视化压测报告讲解

    1、dashboard讲解

    1)Test and Report informations Source file:jtl文件名
    Start Time :压测开始时间
    End Time :压测结束时间
    Filter for display:过滤器
    Lable:sampler采样器名称

    2)APDEX(Application performance Index)
    apdex:应用程序性能指标,范围在0~1之间,1表示达到所有用户均满意
    T(Toleration threshold):可接受阀值
    F(Frustration threshold):失败阀值

    3)Requests Summary
    OK:成功率
    KO:失败率
    4)Statistics 统计数据
    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:响应时间分布图

    五、Jmeter压测接口的性能优化

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

    2、少使用Listener, 如果使用-l参数,它们都可以被删除或禁用。
    3、在加载测试期间不要使用“查看结果树”或“查看结果”表监听器,只能在脚本阶段使用它们来调试脚本。

    4、包含控制器在这里没有帮助,因为它将文件中的所有测试元素添加到测试计划中。]
    5、不要使用功能模式,使用CSV输出而不是XML
    6、只保存你需要的数据,尽可能少地使用断言

    7、如果测试需要大量数据,可以提前准备好测试数据放到数据文件中,以CSV Read方式读取。
    8、用内网压测,减少其他带宽影响压测结果
    9、如果压测大流量,尽量用多几个节点以非GUI模式向服务器施压

     

  • 相关阅读:
    linux Chrome 安装
    jQuery.extend 函数详解
    Ubuntu Linux 下文件名乱码(无效的编码)的快速解决办法
    Django——model字段类型 2
    Django 中的用户认证
    Expression<Func<T, bool>>与Func<T, bool>的区别
    根据funID,personID获取最新规划包项目相关信息
    SET ANSI_NULLS ON 在T-SQL中是什么意思
    SQL Server 2008中如何为XML字段建立索引
    PowerDesigner 建模后如何导入到数据库
  • 原文地址:https://www.cnblogs.com/loveapple/p/10058659.html
Copyright © 2020-2023  润新知