安装
Jmeter下载安装地址:Apache JMeter - Download Apache JMeter
Linux下,下载二进制包解压即可。
Jmerter依赖于java,因此请确保环境上有jdk,通过配置JAVA_HOME来指定jmeter启动时依赖的jdk版本。
配置一下环境变量PATH即可
输入jmeter即可,会打开图形界面如下
启动成功
创建数据库压测脚本
- 首先建立线程池:
两个重要参数分别是连接个数与启动时间,下方的duration代表的是压测时长
2. 创建JDBC connector
这里默认配置就行,只需要配置一下URL与登录数据库的用户名与密码。
此处openGauss选择pg的驱动即可
驱动的导入方法:
将下载好的jdbc驱动 xx.jar拷贝到jmeter的lib下即可。
使用测试openGauss时这里注意,需使用pg的驱动,去官网下载对应版本的jdbc 软件包 | openGauss 下载后解压,选择postgres.jar拷贝至lib目录下即可。
3. 创建jdbc链接请求
4. 创建监听器
这里的监听器实际上就是展示结果的地方,
可以根据需要自行探索使用哪种,一般常用的是view results tree和summary report,我们测试sql实际上只关注吞吐量就可以。
常用变量的设置方式
1. 通过内置函数生成
生成随机整数:${__Random(1,100)}
生成随机字符串:${__RandomString(10,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ)}
如下方式即可实现,注意这里要加单引号
2. 通过beanshell生成,beanshell是jmeter自带的脚本语言,和java非常相似
这里我们在beanshell中定义参数(仿照java代码写即可)
import java.util.Random;
Random random = new Random();
int temp = random.nextInt(100);
vars.put("randomInt",String.valueOf(temp));
注意这里的变量实际上都是字符串类型
在jdbc请求中使用参数方法如下:
常见问题总结
1. Jmeter报错java内存使用不足
当我们压测线程较多的时候,可能会存在内存不足的情况,我们打开/bin/jmeter,修改如下的参数
Xmx: 这个参数用来设置JVM的最大堆内存大小,即Java虚拟机能够使用的最大内存量。Xmx参数通常用来控制JMeter可以使用的最大内存量,可以通过增大这个值来提高JMeter的性能,尤其是在执行大型性能测试时。
Xms: 这个参数用来设置JVM的初始堆内存大小,即Java虚拟机在启动时分配的内存量。Xms参数可以避免JVM在运行过程中频繁地进行堆内存扩展,从而提高性能
MaxMetaspaceSize: 这个参数用来设置元空间(Metaspace)的最大大小,元空间是用来存储类元数据的内存区域。在JDK 8及以后的版本中,取代了永久代(PermGen)的概念。通过设置MaxMetaspaceSize参数,可以控制JMeter中元空间的最大使用量,避免内存溢出问题。
根据需要修改即可。
2. 当linux环境下时,某些机器无法加载图形化界面。
正常情况我们命令行输入Jmeter可以直接打开图形界面,当服务器上没有X11服务器时,我们同样也可以命令行执行jmeter。我们在图形界面上编辑生成的测试计划会最终生成一个.jmx脚本,我们可以在windows上下载jmeter创建测试计划,然后在服务器上手动执行,命令行参数如下:
Jmeter -n(代表不带图形直接执行) -t xx.jmx
剩余参数可以自行在官网查找