测试一个服务器的性能,客户要求向数据库内 1000/s(每插入一千条数据) 的处理能力,当时脑子赌赛了,想的是用LR来进行,由于LR接触不深,只知道LR实现参数化的时候可以调用数据库里面的数据,往里面大批量的插入数据,以前没试过。
翻阅了一下资料,找一到了一篇《一种特殊的数据库性能测试》,大概思路是:通过编写一java程序来循环插入数据,编写一个批处理文件来调用java程序。再通过LR的system()函数来调用批处理文件来进行压力测试。但是对于我这种菜鸟来说,好多细节不懂。比如那个批处理就让我很为难。呵呵。
其实,通过jmeter很简单就可以完成,可以参考一篇文章《jmeter创建数据库(MySql)测试》。
前提条件:一个数据库:test 数据库下面有一张表:user 表中有两个字段:username、passworld 。
要求:往数据库内大批量插入数据,1000/s
其实和之前的方法一样,为了简单,我还是把截图贴出来吧。
1.
创建一个测试计划,将我们所使用的数据库驱动包导入。
2.
添加一个线程组,并设置我们的虚拟用户数、启动时间、和循环次数
3.
创建一个线程,并在线程下面,创建一个JDBC Connection Configuration ,设置相关信息。
4.
创建一个JDBC Request.我们需要对数据库做插入操作。(详细设置,看截图上的说明)
5.
添加监听器,我们这里选择添加“图形结果”和“查看结果树”,点击菜单栏上的“启动”--->运行。
查看我们的运行结果。
在测试的过程中,通过数据库命令,可以查看当前数据库插入了多少数据