Linux 命令行单机压测全流程

Posted 七月的小尾巴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 命令行单机压测全流程相关的知识,希望对你有一定的参考价值。

安装环境

首先,在 Linux操作系统中压测,我们需要安装 JMeter环境,具体安装教程,可以看我这的另外一篇博客。 《Linux环境搭建JMeter》.

单机压测

安装好之后,我们将脚本文件上传到Linux,输入 jmeter -n -t 文件名称 进行压测

  • -n :命令行模式,no GUI
  • -t :jmx脚本路径
  • -l:jtl结果文件存放路径

在这里插入图片描述
压测数据分析

在这里插入图片描述

  • 首先,我们看第三列的数据,每一行都是一串数字,这个数字则表示,在某个时间段我们的请求数,我们可以看到旁边有个 + 和 = 号,可以发现,第一列 1836 + 第 二列 12385 = 第三列的数据14221,由此我们不难发现他的请求数,是不断累计的。

在这里插入图片描述

  • 下面我们可以看到,每30s秒,他的总请求数

在这里插入图片描述

  • 这里显示的是我们的平均TPS,可以看到我们没秒钟可接收的请求数,平均是在453.0/s Avg

在这里插入图片描述

  • 这个相信做过压测的朋友都不难理解,这里记录的是我们每秒的平均最小响应时间和最大响应时间。

在这里插入图片描述

  • 这里显示的则是错误率,旁边是错误个数,后面是错误率。我们在压测的时候需要关注错误率,如果说错误率较高,那就意味着系统已经报错了,或者说脚本出现问题。那么我们需要进行排序错误原因。

在这里插入图片描述

  • Active:正在活动的线程数
  • Started:已经启动的线程数
  • Finished:已经结束的线程数

JMeter参数优化

我们进入到 JMeter的bin目录下,打开jmeter.properties配置文件

1、控制台取样间隔时间设置

summariser.interval=10,默认30s,最低可修改为6s
在这里插入图片描述
设置完成之后,我们可以除了第一次以外(因为这个跟Jmeter底层的配置有关),下方的数据,每10s就会更新一次。说明我们更改的配置文件已经生效了。
在这里插入图片描述

2、JVM参数优化

bin目录下, vi jmeter,修改HEAP的size大小,默认1024M,可以设置成2048M(前提是内存够) HEAP="-Xms2g -Xmx2g -XX:MaxMetaspaceSize=256m"

3、默认编码修改
samplersult.default.encoding=UTF-8

jmeter结果报表

三种方式来获取JMeter的结果报告

  1. 在GUI模式下跑JMeter的脚本,用tps插件实时展示图标(在实际工作中,不推荐第一种执行方式,会影响JMeter的性能。)

  2. 在命令行模式下跑JMeter的脚本,生成jtl文件,在GUI界面的聚合报告里打开,可以展示tps和响应时间等。

    使用如下命令,生成压测报告

    jmeter -n -t Linux.jmx -l result2.jtl
    

    在这里插入图片描述
    执行之后,我们可以看到文件中新增了一个result2.jtl的文件
    在这里插入图片描述

    下面我们使用sz命令,将文件下载到我们电脑中。使用聚合报告打开文件即可

    在这里插入图片描述

  3. 在命令行找下跑JMter的脚本,生成jtl文件,通过Jmeter自带的命令,生成html报表。

    HTML报表生成步骤:
    1、进入jmeter的bin目录下,修改reportgenerator.properties
    2、修改jmeter.reportgenerator.overall_granularity = 1000(报表中数据展示间隔1秒)
    在这里插入图片描述

    3、创建一个存放数据报表的文件夹,report
    4、执行命令:jmeter -g result.jtl -o ./output
    在这里插入图片描述

    其中:
    -g 指定jtl文件的路径
    -o 指定html报表生成到哪个文件下

    注意:只有JMter 3.0 版本以上支持此功能

    5、生成html文件之后,由于是html文件,我们需要在浏览器中打开,所以我们将report文件压缩,zip -r 压缩文件名称 + 需要压缩的文件名
    输入zip命令,如果提示没有该命令,则需要下载 yum install zip

    在这里插入图片描述
    下载之后,我们同样使用sz 命令,下载到我们本地的电脑上。我们从浏览器中打开。

在这里插入图片描述

在这里插入图片描述
通常我们html文件中,主要关注下方的数据,这个就是我们生成聚合报告中的内容。

在这里插入图片描述
响应时间:
在这里插入图片描述
TPS:
在这里插入图片描述

以上是关于Linux 命令行单机压测全流程的主要内容,如果未能解决你的问题,请参考以下文章

全链路压测那点事

VSCode自定义代码片段——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

ActiveMQ 笔记Linux部署:单机与集群部署流程

性能压测之 Linux下 jmeter 集群