之前写过一篇JMeter使用教程,只是介绍了http请求的压力测试,想到mysql的测试也挺必要的,于是写下这篇记录一下。如果不知道怎么下载和安装,可以看一下上一篇关于JMeter的文章,地址是:https://www.cnblogs.com/spareyaya/p/12807638.html。
先说一个小问题,因为JMeter每次打开的时候都会把语言重置为英语,这里可以通过修改bin/jmeter.properties配置文件设置为中文,找到其中的
#language=en
改为
language=zh_CN
然后保存。
一、添加MySQL依赖包
首先把mysql的驱动包(mysql-connector-java-5.1.46.jar)复制到lib目录下,这个驱动包可以在mysql的安装目录中找到。
二、 创建测试计划
在测试计划下创建一个线程组,这里我打算在10秒内发送1000次请求
然后右键点击线程组,选择添加→配置元件→JDBC Connection Configuration,这是用来添加mysql查询的配置的
接着不必须要填Variable Name Bound Pool,这个相当于给这份配置起一个名字,下面需要用到这个名称,这里我填了jcc,再填好最大的连接数。
拉到下面,填写数据库连接信息,如果熟悉spring中的mysql连接配置就会很熟悉这个了,其实就是一个意思的,就不解释了。
最后创建JDBC请求,选择添加→取样器→JDBC Request
创建好后,填好Variable Name Bound Pool,这里的值和刚才创建连接配置那一步的那个一致,然后在SQL Query的下拉菜单选择你需要测试的操作类型,这里我打算测试查询,所以选择了Select Statement,如果你想测试更新操作,就选择Update Statement,依次类推。最后再填上sql语句。
最后在JDBC Request下创建一下需要的监听器。
三、测试
点击菜单栏的绿色三角按钮开始压测,此时可以点击察看结果树,可以看到每次查询的结果
点击聚合报告可以看到这一轮压测的统计
四、在linux下测试
因为我们的服务器都是linux,如果这时候我们需要在服务器上压测的话,可以把文件另存为jmx文件,通过命令行来测试,这个在上一篇已经介绍过了,就不再说了。