什么是性能测试?

压力测试:强调极端暴力
稳定性测试:在一定压力下,长时间运行的情况
基准测试:在特定条件下的性能测试
负载测试:不同负载下的表现
容量测试:最优容量

外部指标,主要关注如下指标:吞吐量,响应时间,错误率

  • 吞吐量:每秒钟系统能够处理的请求数、任务数。
    吞吐量的指标受到响应时间、服务器软硬件配置、网络状态等多方面因素影响。
    1.吞吐量越大,响应时间越长。
    2.服务器硬件配置越高,吞吐量越大。
    3.网络越差,吞吐量越小。
    一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。
    单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。
    系统吞吐量几个重要参数:QPS/TPS、并发数、响应时间
    QPS(TPS)= 并发数/平均响应时间

     一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。
    
  • 响应时间:服务处理一个请求或一个任务的耗时
    响应时间的指标取决于具体的服务 ,应从均值、.90、.99、分布等多个角度统计,而不仅仅是给出均值。

  • 错误率:一批请求中结果出错的请求所占比例。

内部指标,从服务器的角度看,主要关注CPU、内存、服务器负载、网络、磁盘IO等
Linux系统的CPU主要有如下几个维度的统计数据
us:用户态使用的cpu时间百分比
sy:系统态使用的cpu时间百分比
ni:用做nice加权的进程分配的用户态cpu时间百分比
id:空闲的cpu时间百分比
wa:cpu等待IO完成时间百分比
hi:硬中断消耗时间百分比
si:软中断消耗时间百分比

外部指标可以利用jmeter的聚合报告查看,内部指标可以利用jmeter的plugins插件

如何利用jmeter做压力测试

一 下载jmeter,此处不在赘述
二 安装plugins插件
1.下载三个文件,其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的
服务端插件下载
客户端插件下载
(链接与截图显示可能不一致,按链接进入下载实际的包即可)

2 解压客户端的两个文件,将其路径 JMeterPlugins-Extras(Standard)-1.3.1\lib\ext的 JmeterPlugins-Extras.jar和JmeterPlugins-Standard.jar 两个文件,放到JMeter客户端的lib/ext文件夹中,打开JMeter,可在监听器中看到Permon Metrics Collector,客户端配置成功

3 将ServerAgent-2.2.1.jar上传到被测服务器,解压,赋予777权限
chmod 777 startAgent.sh

4 进入目录,Windows环境,双击ServerAgent.bat启动;linux环境执ServerAgent.sh启动,默认使用4444端口,出现如下情况即服务端成功:

可执行命令让它在后台运行:

nohup ServerAgent-2.2.3/startAgent.sh --udp-port 4444 --tcp-port 4444 &

5 ServerAgent启动的校验
执行命令查看端口是否监听成功

netstat -anp |grep 4444


6 jmeter添加线程组

6.1 添加http请求
6.2 添加聚合报告


6.3 jmeter客户端添加监听器Permon Metrics Collector
线程组–监听器–jp@gc - Permon Metrics Collector
添加需监听的服务器ip、port、监听指标等

6.4 设置线程数、压测时间

6.5 可保存响应结果到文件

7 执行完毕,查看聚合报告和监控图

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Permon Metrics Collector使用常见问题

1 监控插件ServerAgent 的问题
1)安装了ServerAgent 连接不上
安装、启动服务后,测试是否可以连接上 telnet ip:4444
使用./startAgent.sh 直接启动,过一会可能会停掉,于是在服务器换了nohup命令 让它在后台运行

**nohup ServerAgent-2.2.3/startAgent.sh --udp-port 4444 --tcp-port 4444 &**

(使用nohup命令会提示 产生nohup.out日志文件,默认在执行上面命令的目录下,可以忽略此提示)

2) 启动发现端口被占用(或可能是运营商拦截了4444端口),尝试换端口

**nohup ServerAgent-2.2.3/startAgent.sh --udp-port 4445 --tcp-port 4445 &**

再连接,连接成功

3)启动 serverAgent.sh 脚本或修改端口再启动后,使用 jps 查看服务发现 CMDRunner服务正常运行,再 telnet host 4444,尝试连接,如果无法连接,可能是端口没有打开,用以下命令开端口后 再请求

**/sbin/iptables -I INPUT -p tcp --dport 4444 -j ACCEPT**

4)serverAgent启动并连接成功后,运行已准备好的jm脚本,jmeter线程组无反应
检查发现是 Permon Metrics Collector监控没有添加目录

然后就可以看到监控变化图了

注:
性能测试分析参考
jm压测参考

jmeter之jp@gc - Permon Metrics Collector插件使用相关推荐

  1. jmeter之jp@gc - Permon Metrics Collector配置及使用

    在使用jmeter做压测时,除了需要看一些外部指标,如吞吐量,响应时间,错误率等:还需要关注一些内部指标,从服务器角度来看,主要关注CPU.内存.服务器负载.网络.磁盘IO等.其中不可避免需要使用到j ...

  2. JMeter jp@gc - PerfMon Metrics Collector插件

    JMeter jp@gc - PerfMon Metrics Collector插件 今天来介绍一下使用JMeter监测服务器性能,一般监测服务器的四个指标:CPU,Memory,Disks I/O, ...

  3. jmeter监听器---jp@gc - PerfMon Metrics Collector

    作用: 参考资料 安装: 下载地址 ServerAgent jp@gc - PerfMon Metrics Collector:服务器性能监测控件 根据需要选择CPU,Memory,Network I ...

  4. jp@gc - PerfMon Metrics Collector:服务器性能监测控件

    1.Jmeter插件下载  安装安装下面三个插件 ,就可以像Loadrunner一样监控服务器CPU.内存等性能参数 下载客户端插件JMeterPlugins-Standard 和 JMeterPlu ...

  5. 服务器资源占用监控(jp@gc - PerfMon Metrics Collector)

    1.安装插件 第一步.JMeterPlugins-Standard解压,JMeterPlugins-Standard.jar放到jmeter的lib\ext目录下,重启jmeter. 第二步.Serv ...

  6. 压测--部署jp@gc - PerfMon Metrics Collector

    下载https://jmeter-plugins.org/install/Install安装插件plugins-manager放置lib/ext下,重启jmeter选项页面可查看到此下载插件 2.准备 ...

  7. 在jmeter5.4版本下成功运行jp@gc - PerfMon Metrics Collector

    参照网上针对Jmetser ServerAgent监控的文章,放入相应的jar包到根目录lib/ext中 确实是可以添加jp@gc - PerfMon Metrics Collector 但问题来了, ...

  8. JMeter jp@gc - stepping thread group插件

    这是一个出单接口压力测试的小例子,了解一下压力测试最最基础的基础.出单接口是用来保险出单的,不需要在UI界面下一步下一步的出单,接口一调数据入库完事~~~.再啰嗦一句接口应该都知道是什么吧?一个完整的 ...

  9. 学习记录:jmeter添加jp@gc - Hits per Second

    jp@gc - Hits per Second:每秒点击量,点击量在性能测试-常见的性能指标,指的是每秒web服务器接收到的请求数 Settings部分 Graph Settings 图设置 明天补充

最新文章

  1. IEnumerable
  2. 【jeecg-mybatis版本】 mybatis+spring mvc 完美整合方案 查询,保存,更新,删除自动生成
  3. c++: size_type与 size_t一些概念
  4. DSP定点与浮点计算
  5. mysql recordcount 1_[转载]ADO记录集GetRecordCount()返回记录条数为啥总为-1
  6. 软考程序员Java答题速成_软考程序员考试下午考题解答技巧方法
  7. python游戏引擎-转:十大开源游戏引擎深入比较
  8. 本地文件无法复制到VMware虚拟机
  9. 免安装mysql_免安装版的Mysql
  10. Hbase 过滤器详解
  11. youtube下载视屏和字幕办法
  12. led灯光衰怎么解决_led灯光衰一般多少为正常?
  13. 我的叔叔精通计算机英语翻译,人教小学英语精通版 三年级下册Unit3 课文翻译...
  14. html仿qq截图,截图工具(仿QQ截图,大致功能都已实现)
  15. 用html制作一个网站的步骤,新手怎么做网页 新手如何制作一个网页
  16. #读书笔记—《自控力》第二章
  17. calloc()函数
  18. 安百拓西安仓储物流中心正式运营;中外运敦豪广东分公司迁新址 | 美通企业日报...
  19. adrp 命令为何能获取符号的地址
  20. 微信小程序实现搜索功能以及效果(超详细)

热门文章

  1. 人力资源?背完这个你肯定挂了
  2. 黑马Elasticsearch使用文档
  3. 基于阿里云oss的文件管理系统
  4. el-table点击禁用按钮,只禁用本行的编辑按钮,不影响其他行
  5. 香港科技大学计算机专业国内就业6,香港科技大学计算机专业世界排名
  6. Linux命令date 日期时间和Unix时间戳互转
  7. ios 状态栏设置
  8. Cocos Creator 音乐音效管理
  9. NodeJS入门——学习笔记
  10. 玩转你的86400秒