用例要求是:模拟10个用户同时向数据库共插入1000条数据。
结合用例去讲Jmeter的使用更加具体。这里详细介绍下操作,后面的用例就不用详细介绍步骤了。
步骤一:
打开jmeter.bat,默认就有个TestPlan。需要注意的是,不同数据库的选择不同的驱动。需要在Library处手动添加驱动包的路径。选择驱动的方法还会在步骤三中有介绍。
步骤二:
添加 Thread Group 线程组
按照用例要求配置的线程组的参数。
知识点补充:此用例要求插入具体的总数,所以选择了循环。有些案例要求执行的时长,比如持续执行30分钟,配置如下:
步骤三:
添加JDBC连接配置
配置内容如下:
连接池的配置:
补充:Max Wai(ms)的意思是当发request的时候,如果没有连接可用,那么该request就会等待最长10s。如果超过10s还没有连接可用,那该request发送失败。
池的连接验证配置:
关于处理空闲连接的机制,结合Connection Pool Configuration和Connection Validation by Pool的参数配置来看,我个人的理解是:
空闲连接超过5s才会被认为是空闲连接,此时会发起一条sql语句(Validation Query的配置)验证该连接是否可用。
情况1:该连接还可用,继续放在池中被调用。如果该连接一直没被调用,则会被jmeter释放(参考Time Between Eviction Runs的配置)。
情况2:该连接不可用了,可能是被数据库干掉,或者由于网络原因(不是Jmeter主动干掉的可能Jmeter不知道,所以需要发起select来验证是否可用),那么Jmeter就会把该连接从池里清理掉。
数据库连接的配置:
补充:在JDBC Driver class中可选的是一些常用的数据驱动,选择这些驱动之前,需要把相关的数据库驱动放在jmeter的lib文件夹中,驱动才能正常被调用。此处配置驱动的方法与步骤一的方法,二选一即可。
步骤四:
添加 Sampler 取样器,选择JDBC Request
添加SQL操作的命令
步骤五
添加结果输出,根据需求添加结果不同的展示方式。
步骤六
点击三角执行按钮,注意圈红的地方会显示启动的并发用户数和执行的时长。
步骤七
查看测试结果
PS:(如下图添加的预处理未生效,思考为什么不生效???)
如每次都需要清理数据,可以添加预处理流程