通过explain分析低效SQL的执行计划
No results found
使用loadrunner监控mysql
最近工作需要研究怎么深度性能测试,使用的工具基本是loadrunner,jmeter或者基于python的框架locust。
近期一段时间应该和lr打交道会比较多,lr最为一个收费的专业性能测试软件,功能是毋庸置疑的相当强大,但是,貌似我没有找到监控mysql的模块。。sql server倒是有,也可能是我远离lr太长时间了。
在日常性能测试过程中,除了需要对系统TPS,RT这样的参数进行监控以及各服务器的CPU,MEMORY,IO之外,还要实时对数据库进行监控,因为接触的多的是mysql,就以MySQL为例。
当mysql出现运行缓慢,或者出于某种原因无法响应查询,可以监控以下几个指标来获取解决:
由于本篇重点是介绍监控MySQL,对于mysql的性能指标就只解释一种,以吞吐量为例:
MySQL中有一个Questions
的内部计数器,客户端每发送一个查询,改值加一。
1 | mysql> show global status like "Questions"; |
所以对Questions
该指标进行监控,当该指标发生突变,如骤降或者骤增,很可能数据库出现了问题。
WIKIPEDIA给的解释:
1 | HP SiteScope is agentless monitoring software focused on monitoring the availability and performance of distributed IT infrastructures, including Servers, Network devices and services, Applications and application components, operating systems and various IT enterprise components. |
大致意思是:HP SiteScope是无代理监控软件,专注于监控分布式IT基础架构的可用性和性能,包括服务器,网络设备和服务,应用程序和应用程序组件,操作系统和各种IT企业组件。
所以,HP SiteScope很适合用来监控MySQL。
网上找一圈硬是没找到安装包,很怀疑对于mysql的监控有更简单的方法,或者就是压根没人做开源的。。直接梯子到官网下了个11.3的版本:
安装很简单,压缩包打开,找到HPSiteScope_11.30_setup.exe
一路next即可,mysql驱动放在D:\HP\SiteScope\java\lib\ext
下。
安装完成HP SiteScope后,在浏览器输入url:http://127.0.0.1:8080/SiteScope
即可打开主页
输入url之后,可能会遇见页面是空白的情况(我就遇到过),首先,别用chrome和firefox,这玩意貌似只能在IE上面打开;其次,你本地需要JDK环境(java -version)要求JDK1.6以上。最后,IE的internet选项中,把局域网设置里的代理勾掉。以上就是我解决的页面空白的三个办法(我全中过,折腾老半天)
进入HP SiteScope首页,在SiteScope
上右键,新建组
,输入组名之后,右键创建的组,新建监控器
,选择数据库计数器
,只需要配置几项:
1 | 数据库连接URL: jdbc:mysql://localhost/sakila |
点击验证保存,完成保存。
打开LR Contraller,配置完场景,在run页面,可用图,选择SiteScope图
,右键SiteScope,点击打开,右击打开的SiteScope图,点击添加度量
,弹出的窗口有两个添加,上面一个是添加服务器,我添加的是localhost
端口8888
,下一个添加是选择添加的组件,选择需要的添加组件,点击确定,即可完成配置。
(没办法,图床都太坑了,所以全程无图。。。请原谅。。。)
官网下载的HP SiteScope是未破解版,有时间还是需要折腾个破解版的研究研究。工具是会用了,原理根本没去看,这是病,不懂原理就直接使用,总感觉不踏实。