Jmeter的安装使用及注意事项详情
以下是对MapD数据库进行并发测试为例
- 安装
- 从官网上下载jmeter5.0(jmeter5.0的版本jdk必须8以上,否则打开不了)
https://jmeter.apache.org/download_jmeter.cgi
- 解压
- bin/目录下有jmeter.sh、jmeter.bat 所以在windows下和linux下都通用
- 使用
整体思想:要想测试,比如对网页进行测试、或者数据库进行测试,必须得连通,连通后就可测试。
- 在windows下打开jmeter.bat,界面如下:
这是一个测试计划,也就是这个计划里我们可以创建自己多个线程组进行测试,一个测试计划对应生成一个jmx文件。在windows下可以选择打开这个文件,然后就把jmx所描述的测试计划打开;在linux下,需要指定它才能在linux下进行测试。
接下来填写测试计划一些几个配置:
- 勾上独立运行每个线程组,不然在linux下测试时会报内存溢出等信息
可以在jmeter.sh 或jmeter.bat中修改配置来增加jvm内存,但是不安全,当线程数很高,增加内存也不是办法.
- 指定驱动包的路径,这是在windows下测试的,所以在linux下测试时,也需要修改对应路径,不然会报找不到驱动包错误
- 创建线程组(根据自己的定义不同线程数的线程组):
3.连接:
⑴下载驱动包放到jmeter安装目录的lib/下。
如MapD需要mapd-1.0-SNAPSHOT-jar-with-dependencies.jar、
Mysql中需要mysql-connector-java-*-bin.jar
(2)添加JDBC请求配置:
单击鼠标右键以显示“ 添加”菜单,然后选择“ 添加” →“ 配置元素” →“ JDBC连接配置”
设置以下字段(假设我们将使用名为' mapd ' 的mapd数据库):
变量名称(此处为:mapd)绑定到池。这需要唯一标识配置。JDBC Sampler使用它来标识要使用的配置。
数据库URL:jdbc:mapd:ip:端口:数据库
JDBC驱动程序类:com.mapd.jdbc.Driver
用户名:数据库的用户名
密码:用户名的密码
每个线程组的最大连接数跟线程数最好一样,最大连接数太少的话,很多请求会超时(但说明是连得上的)
关于MapD连接JDBC更多信息可以查看官网:
https://www.omnisci.com/docs/latest/6_jdbc.html
- 配置弄好了,添加JDBC请求:
填写要查询的sql语句
注意:这里的池信息名称要跟上一步配置JDBC请求配置时的填的池变量名称要一致,不然也会报错,写sql语句时,结尾也不要带分号
(4) 在window下可以添加各种监听器,查看测试结果:
- 启动:
或者
报错!
解决:
从网上搜索很多,和看官方文档发现解决不了错误。然后在自己不清醒下修改了Validation Query的默认值,发现成功!!虽然不知道为什么
很多都默认为Select 1,如对Mysql、Kylin、PG等等很多数据库进行测试时
Validation Query 值为1都能查询。但是不知道为什么在MapD时,就不行
三:测试
- 在桌面上测试时,不能搞太大的并发,不然的话万一卡顿了什么的,又把jmeter进程关掉,会有很多time_wait请求:
解决:1.重启
2.修改注册表
3.在不重启、修改注册表的情况下,可以增大端口访问数
- 在linux下测试(默认已安装jmeter):
- 讲在桌面上生成好的能够测试的jmx文件扔到服务器上。
- 敲最全的命令:
指定jmx文件(记得修改驱动包路径),指定要生成的jtl文件(前提不存在此文件),要生成的测试文件夹(前提不存在此文件夹)
- 过程
生成文件夹下:
4.下载测试文件夹,打开html文件: