使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)

时间:2024-07-19 17:34:20

前段时间面试被问到了数据库方面的知识:比如选择什么样的数据库,如何优化,怎么加索引,于是想到了自己动手测试一下常用数据库的性能:

第一步,下载好JMeter之后打开运行。话说这个JMeter打开还真是麻烦,安装好之后还没有桌面快捷图标,需要通过一个jmeter.bat批处理文件才能打开。

使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)

第二步,测试Mysql数据库性能。

a.右键单击测试计划,添加一个线程组,并在这个线程组下面依次添加:JDBC Connection Configuration、JDBC Request、察看结果树、用表格查看结果;

详细的添加菜单可以通过右键线程组找到,在这里就不为大家一一列举了。

b.在测试计划中加载JDBC Mysql的驱动。

使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)

c.在线程组中设置线程属性,执行次数=线程数*循环次数

使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)

d.设置JDBC的连接属性,这里我用的是本机Mysql数据库。

使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)

e.设置JDBC请求,这里记得要把Query Type设置为“Update Statement”,否则就会报错:

使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)

f.点击运行->启动,执行JOB;执行完之后可以在用表格察看结果中看到本次执行的结果:

本次JOB共插入了5W条记录,从14:56:46开始到15:01:29结束共耗时343s,平均145.8条/s。

使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)

使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)

g.查看插入失败的数据,可以看到原生Mysql在丢包方面还是挺严重的,都是“Could not create enough Components to service your request (Timed out).”的超时错误。

使用Apache JMeter对SQL Server、Mysql、Oracle压力测试(一)

本来想一篇文章写完的,写到后来发现图片太多了,准备留作三篇写完了。。。