天天看点

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

目录

  • 一、插件安装
  • 二、监听器[email protected] - Transactions per Second
  • 三、监听器之响应时间Response Times Over Time
  • 四、监听器之活动的线程数(Active Threads Over Time)
  • 五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

引言

Transactions per Second 也就是每秒事务数,在性能测试中非常重要的一个指标,我们在聚合报告里面能看到最后的测试结果TPS值。如果我们想查看更详细的报告,查看压测过程中不同时间段的每秒事务数,可以使用 Transactions per Second 插件来查看([email protected] - Transactions per Second)。

一、插件安装

在插件管理器,安装jpgc - Standard Set,

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

安装成功后

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

二、监听器[email protected] - Transactions per Second

Transactions per Second 插件的作用是在测试脚本执行过程中,监控查看服务器的TPS表现————比如整体趋势、实时平均值走向、稳定性等。

添加监听器[email protected] - Transactions per Second

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

设置线程10,循环100次开始压测,聚合报告看到吞吐量12.5/sec

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

再查看 [email protected] - Transactions per Second 插件的报告,可以看到更详细的实时的TPS

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

三、监听器之响应时间Response Times Over Time

压测的时候,我们会经常关注2个重要的指标 TPS 和 RT

TPS 每秒处理的事务数(Transactions per Second),jmeter的Throughput为吞吐量(请求数/秒)

RT 响应时间(Reponse Time),从发起请求到完全接收到应答的时间消耗。

TPS:每秒处理的事务数,jmeter的Throughput为吞吐率(请求数/秒)

宏观上:TPS=并发数/响应时间,jmeter的Throughput = (number of requests) / (total time)

线程数5,循环50次

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

我们可以根据聚合报告看到,平均响应时间是376毫秒,吞吐量12.8/sec

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

通过上面的公式 tps = 线程数5/平均响应时间0.376秒 ,算出的结果是13.29,跟统计的12.8差不多。

也可以这样理解这个公式,绝对的并发是不存在的,请求发出的时间总有先后,绝对的TPS也是无法计算的,统计的角度看

TPS = 服务器处理请求总数/花费的总时间

我们设置线程组的持续压测时间为15秒,设置线程数5,于是压测的结果TPS值是13.1

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

根据公式TPS = 总请求数200/总时长15秒,得到的结果是13.3,这样就很接近报告的TPS值了

响应时间(Reponse Time)

RT 也就是平均响应时间(Reponse Time), 在聚合报告里面可以看平均值(单位是毫秒),如果我们想查看更详细的报告,跟着每个时间段的平均响应时间。

添加-监听器[email protected] - Response Times Over Time

先看聚合报告的平均值367毫秒

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

RT

再看实时监控的平均响应时间

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

四、监听器之活动的线程数(Active Threads Over Time)

jmeter压测的时候,在执行测试的过程中每个线程组有多少个活跃的线程数,可以通过监听器Active Threads Over Time查看

线程数与Ramp-Up时间

线程数就是我们设置是虚拟用户数,可以理解为1个线程,就是一个虚拟用户。

Ramp-Up时间 也就是启动时间,或者说是准备时间,比如我们设置线程数为10,那么这些用户不是一瞬间就来的,它需要有一个准备的时间。

线程数10, Ramp-Up时间设置为1秒,那么在1秒内会启动这些线程。

线程数10, Ramp-Up时间设置为2秒,那么在2秒内会启动这些线程。

设置线程数10, Ramp-Up时间设置为1秒

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

从上面结果看出在1秒内,线程全部启动完毕

设置线程数10, Ramp-Up时间设置为2秒

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

从上面结果看出在2秒内,线程全部启动完毕

五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

我们做性能测试的时候,不仅要关注jmter上的测出来的TPS值和响应时间等指标,还得关注服务器的性能指标。服务器上性能指标如何监控呢,可以安装PerfMon服务器代理来监控

PerfMon服务器代理安装

PerfMon服务器代理的github地址https://github.com/undera/perfmon-agent,可以下载到安装包

也可以直接下载到要测试的服务器上

wget https://github.com/undera/perfmon-agent/releases/download/2.2.3/ServerAgent-2.2.3.zip
           

下载后解压,并启动代理

执行./startAgent.sh 启动服务,当看到如下提示,说明启动成功

./startAgent.sh
           
jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

在自己windows本地用telnet端口能不能连得通

telnet ip port
           

现在用jmeter用于测试

添加-监听器[email protected] - PerfMon Metrics Collector

服务器硬件资源的监控

配置需要监控的性能指标,这里配置了CPU和Memory,结果如下图所示

jmeter-监听器之每秒事务数响应时间活动的线程数服务器性能指标监控一、插件安装二、监听器[email protected] - Transactions per Second三、监听器之响应时间Response Times Over Time四、监听器之活动的线程数(Active Threads Over Time)五、监听器之服务器性能指标监控(PerfMon Metrics Collector)

注意事项:

1.阿里服务器要特别注意:4444的端被禁止向外开放,需要改变端口命令:可以换个端口重新启动,带上-udp-port 和 --tcp-port两个参数

./startAgent.sh --udp-port 0 --tcp-port 5319

2.防火墙 要么关闭,要么开放你设定的端口,如果你的服务器是云服务器,请在云服务器管理台,安全策略中,配置开放端口

3.建议,不要在一个监控器中,添加多个监控项

使用脚本在百度云盘(监听20210220.jmx)(易捷服务器)

继续阅读