一.关于性能测试
对数据库进行压测时,我们需要关注的几个方面:
1.系统相关指标,诸如:系统CPU/内存/IO等
2.进程相关指标,诸如:mysql该数据库的对应的进程占用CPU/内存/IO等
3.数据库特有的存储查询等性能计数器计入的相关指标点
二.工具
市面上有很多的性能测试工具,诸如loadrunner,nmon等,本次只讲解Jmeter。
初始的Jmeter在未有安装插件的情况下,包括对接口的测试等所监控的指标是有限的。如下图:
以上各指标解释如下:
1).Label - 请求对应的name属性值。
2).Samples - 具有相同标号的样本数,总的发出请求数。
3).Average - 请求的平均响应时间。
4).Median - 50%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第50%的值。
5).90% Line - 90%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第90%的值。
6).95% Line - 95%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第95%的值。
7).99% Line - 99%的样本都没有超过这个时间。这个值是指把所有数据按由小到大将其排列,就是排列在第99%的值。
8).Min - 最小响应时间。
9).Max - 最大响应时间。
10).Error % - 本次测试中,有错误请求的百分比。
11).Throughput - 吞吐量是以每秒/分钟/小时的请求量来度量的。这里表示每秒完成的请求数。
12).Received KB/sec - 收到的千字节每秒的吞吐量测试。
13).Sent KB/sec - 发送的千字节每秒的吞吐量测试。
为了适应标题【一】的各项指标,我们引入Jmeter插件做为压测补充
三.Jmeter数据库压测范例
1.下载绿色版Jmeter(为了方便,无需安装)并解压
2.下载对应的插件JMeterPlugins-Extras-1.4.0.zip JMeterPlugins-Standard-1.4.0.zip ServerAgent-2.2.3.zip
3.解压JMeterPlugins-Extras-1.4.0.zip 和JMeterPlugins-Standard-1.4.0.zip将lib/ext内jar复制到jmeter目录lib/ext内
4.上传ServerAgent-2.2.3.zip到数据库所在服务器上并解压,执行
sh startAgent.sh
效果如下:
5.启动Jmeter并进行配置
a)点击测试计划,导入对应数据库的jdbc驱动包
b)右键点击[测试计划]->添加->[配置元件]->选择->[jdbc connection configuration ]。配置界面如下:
d).右键点击[线程组]->添加->[jdbc request],jdbc request配置界面如下
e).右键点击[线程组]->点击->[监听器]->添加->[查看结果树]
f).右键点击[线程组]->点击->[监听器]->添加->[聚合报告]
!!!重点!!!
g).前方步骤引入的插件在此处使用开始 右键点击[线程组]->点击->[监听器]->添加->[perfmon metrics collector],配置如下:
h).右键点击[线程组]->点击->[监听器]->添加->[ DbMon Samples Collector],配置如下:
以上,END