zoukankan      html  css  js  c++  java
  • 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各种问题等等,只想让自己谨记如果工具不是你写的,你要么找时间看源代码,要么记得记录吧

  • 相关阅读:
    ADO.NET操作PostgreSQL:数据库操作类(未封装)
    ADO.NET操作SQL Server:数据库操作类(已封装)
    ADO.NET操作SQL Server:数据库操作类(未封装)
    h5微信支付
    css3的transform:tanslateZ没有效果
    判断页面是否被嵌入iframe里面
    vue项目的环境变量
    iOS下调用元素的focus方法,input元素不聚焦,键盘不弹起的问题
    关于common.js里面的module.exports与es6的export default的思考总结
    Vue2.4.0 新增的inheritAttrs,attrs
  • 原文地址:https://www.cnblogs.com/qianjinyan/p/9123035.html
Copyright © 2011-2022 走看看