Jmeter 之 ServerAgent 在性能测试的时候通过插件监听数据库状态

https://jmeter-plugins.org/downloads/old/

下载几个jar包,导入到Jmeter对应到目录下/lib/ext文件夹下,注意只支持Jmeter3.2(不含)以下版本。

重启Jmeter。

然后在Listner中选中ja@pc --等等应用

新建测试用的取样器,并在监听器选择jp@gc - PerfMon Metrics Collector和jp@gc - Transactions per Second两个监听器,ServerAgent默认是4444端口,也可以修改,比如:./startAgent.sh –udp-port 0 –tcp-port 3450这样

我一般比较习惯到是将SQLserver数据库中

以查询的方式将DB状态新增到自己新建的DB_Status_log表中

如果是性能测试,频繁调用,可以用getdate() 格式化时间后,以想要到单位,比如2s,用while循环插入表中。

这样之后可以查看DB_Status_log来查找DB到瓶颈。

注意要有管理员权限:

1-查看CPU占用量最高的会话及SQL语句

SELECT SPID,CMD,CPU,PHYSICAL_IO,MEMUSAGE,
(SELECT TOP 1 [TEXT] FROM ::FN_GET_SQL(SQL_HANDLE)) SQL_TEXT
FROM MASTER..SYSPROCESSES ORDER BY CPU DESC,PHYSICAL_IO DESC




2-查看缓存重用次数少,内存占用大的SQL语句

SELECT TOP 100 USECOUNTS, OBJTYPE, P.SIZE_IN_BYTES,[SQL].[TEXT] 
FROM SYS.DM_EXEC_CACHED_PLANS P OUTER APPLY SYS.DM_EXEC_SQL_TEXT (P.PLAN_HANDLE) SQL 
ORDER BY USECOUNTS,P.SIZE_IN_BYTES  DESC

 查看数据库状态,如果一台windows只安装了一个数据库的话,直接通过查看资源管理器也可以看到。虽然略粗俗了点。

 

以前从未想过一个linux server 如果是4核,要如何具体地看每核到使用率。

第一反应是linux server就是双向公路,4车道到路,为啥只走一车道呢。难道还有3车道被水给淹了吗?

性能测试的瓶颈,一切问题皆IO,

领导永远会承诺你,8G内存不够用16G,4核不够用8核

数据就像小轿车,行驶到公路上到时候一般不会堵,占地面积是有限到,服务器资源可以无限到,一个两个三个~~集群。

停车场是DB,停车是入库,开走车是出库,车位是一张表,频繁进出才会有问题。

停车场到错综复杂就像各个表到外建关联关系,又被各种左右外链接,

君不见停车场到车总是开的那么慢嘛 ~

学无止境

学会记录,比如我忘记了jmeter录制https请求,在mac上用Jmeter各种问题等等,只想让自己谨记如果工具不是你写的,你要么找时间看源代码,要么记得记录吧

原文地址:https://www.cnblogs.com/qianjinyan/p/9123035.html