这几天尝试了一下用jmeter直接对数据库压测,测试执行SQL的性能,这里做一下记录。
首先是配置jar包,这里以mysql为例,用的jar包是:mysql-connector-java-5.1.47.jar,将jar包放到自己能找到的位置就行,习惯上是将jar包放到jmeter的目录内D:apache-jmeter-5.2.1libext
有了jar包,就要告诉告诉jmeter要使用这个jar包,如图:
![02b1af069a34d866c2a6115d90bf7f34.png](https://i-blog.csdnimg.cn/blog_migrate/64108332c706403ba978fc647ebba980.jpeg)
有了jar包,然后就是配置数据库信息:
![711027fe2e28e7a62e16e32e0b8ab335.png](https://i-blog.csdnimg.cn/blog_migrate/ba808bda416dc0a25221a3e662ab62f1.jpeg)
稍微解释一下配置文件中的参数。
Variable Name for created pool:数据库变量名,后续JDBC Request中会用到这个值;
Database URL:格式为:jdbc:mysql://host:port/{dbname};
JDBC Driver class:mysql驱动类选择com.mysql.jdbc.Driver ;
Username/Password:数据库的用户名和密码;
这个页面里还有一个参数需要注意一下:Max Number of Connections,会影响你的最大连接数,虽然一般数据库里已经限制了,你输的太大其实也没用,但是要是太小了,就达不到压测sql的预期目的了。
现在前期准备都已经好了,后面就是配置需要执行的sql了,这一步其实很简单,创建一个jdbc的request:
![52528237b70d88bb741d1c75040b08f4.png](https://i-blog.csdnimg.cn/blog_migrate/23b7ea6657461a48d7863ff1d22cd6f8.jpeg)
直接在Query框内写sql就行,执行jmeter就会连配置的数据库执行sql。需要看单个执行的结果还是看观察结果树,多并发的统计结果还是看聚合报告。