Nmon定位性能问题
步骤:
1、查看响应时间,如果在测试环境中,响应时间一直上升,并且超过了1s
2、需要在MySQL中打开慢查询 /etc/my.cnf (根据系统存放的位置)
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
8、如果type=ALL是没有索引,或者索引失效了,全表扫描
打印日志、监控日志
性能数据分析
tps低,响应时间高:
步骤:
1、查看服务器的资源使用情况,如果是%user的CPU高,定位到进程
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对象从指定的目录目标接收信息