性能测试问题定位(一)

Nmon定位性能问题

步骤:
1、查看响应时间,如果在测试环境中,响应时间一直上升,并且超过了1s
2、需要在MySQL中打开慢查询 /etc/my.cnf (根据系统存放的位置)
slow_query_log = 1 # 打开慢查询
slow_query_log_file = /data/mysql/mysqllog/logfile/slow-query.log # 慢查询的日志保存路径
long_query_time = 1 # 慢查询的时间设定,可以设置1s开始
3、在Nmon中输入C,看CPU使用资源情况,一般只关注 %User(用户态)的CPU占用,如果一直超过90%
4、在Nmon中输入t,查看是哪个进程导致的,如果是MySQL进程导致的,说明一定有慢查询
5、在慢查询的日志里面查看日志信息,输入:tail -f /data/mysql/mysqllog/logfile/slow-query.log(实时查看日志信息)
6、找到Query_time 时间较大的值,拿到其下的SQL语句
7、在Navicat对应的数据库中查看执行计划,SQL语句加上:EXPLAIN
EXPLAIN SQL语句; 执行语句

%User:用户态的CPU,一般是应用程序或者数据库进程占用导致
%sys:系统态的CPU,一般是系统占用,比如说CPU核数不够,这个时候,需要更换硬件

8、如果type=ALL是没有索引,或者索引失效了,全表扫描

标准方差:方差是描述一组数据偏离其平均值的情况
方差值越大:这组数据就越离散,波动性也越大
方差值越小:波动越小,说明接口比较稳定,处理能力比较稳定
90 Percent:表示90%的事物响应时间都维持在某个值附近
每秒点击率(HPS):与客户端的服务有关
响应时间:当响应时间波动比较大,去90%的响应时间为



打印日志、监控日志


性能数据分析
tps低,响应时间高:
步骤:
1、查看服务器的资源使用情况,如果是%user的CPU高,定位到进程
2、查看服务器的资源使用情况,发现系统资源占用低:
可能的原因:
1、查看网络情况,最直接的方法:ping ****.**.**.** -t,看有没有丢包
最好在同一个网络段进行性能测试,千兆网卡
2、客户端请求有没有发出去,本机的性能情况
3、连接数,分Tomcat应用的连接数,Tomcat连接数据库的连接数

 

JMeter测试MQ

 

改变JMeter响应的json展示方法

左侧:json

 

关联:

1、jmeter使用JSON提取器:$.data[0].token

2、正则表达式:(.+?)获取数据

3、使用${template} 调用

 

LR的关联和正则表达式的区别:

1、Jmeter的正则表达式一般都是放在请求的后面,LR是一个注册函数,放在请求前面

2、都是通过左右边界值

 

 

JMS脚本开发

jsm(java message service):java消息服务器应用程序接口,是一个Java平台面向消息中间件的api,用于在两个应用程序之间,或分布式系统中发送信息,进行异步通信

  Connection Factory:创建一个连接,向消息服务器发送消息以及从消息服务器接收信息均是通过此连接进行

  Connection:是客户端与消息服务器的活动连接

  Session:是用于生产和使用消息的单线程上下文

  MessageProduce:指定的物理目标发送消息

  MessageConsumer:客户端是使用Message Consumer对象从指定的目录目标接收信息

 

posted @ 2021-05-29 13:41  DeyouKong  阅读(236)  评论(0编辑  收藏  举报