达梦读写分离分发测试(Jmeter 压测)
1. 测试目的
本次测试目的主要是验证达梦读写分离集群是否生效,查询负载请求是否会自动分发给备库执行
2. 达梦读写分离部署(一写一读,过程忽略)
配置 |
ip地址 |
实例名 |
端口号 |
数据库版本 |
主库 |
192.168.145.66 |
DM66 |
5236 |
4-2-98-21.12.16-153423-10040-SEC |
备库 |
192.168.145.23 |
DM23 |
5236 |
4-2-98-21.12.16-153423-10040-SEC |
1. 应用服务名配置
客户端主机上需要配置dm_svc.conf 文件,文件路径:
32 位的 DM 安装在 Win32 操作平台下,此文件位于 %SystemRoot%\system32 目录;
64 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\system32 目录;
32 位的 DM 安装在 Win64 操作平台下,此文件位于 %SystemRoot%\SysWOW64 目录;
在 Linux 平台下,此文件位于/etc 目录。配置如下
DMRW=(192.168.145.66:5236,192.168.145.23:5236) TIME_ZONE=(+480) #表示+8:00 时区 LOGIN_ENCRYPT=(0) DIRECT=(Y) # 服务配置区 [DMRW] LOGIN_MODE=(1)#只连主库 RW_SEPARATE=(1) #是否启用读写分离 RW_PERCENT=(0) #读写分离分发比例 |
1. Jmeter的安装与配置
4.1下载并解压缩jmeter文件
4.2 配置环境变量
jmeter需要依赖Java环境,将jmeter的路径加入到windows的环境变量中
4.3 启动jmeter
进入jmeter解压路径的bin目录
如果需要设置语言环境为中文,修改jmeter.properties文件,将language=zh_CN
双击jmeter.bat打开jmeter
会同步打开dos命令窗口,不要关闭
1. 使用jmeter进行达梦读写分离测试
5.1 修改测试名称DMRWC-TEST并添加jdbc驱动
添加驱动有两种方法:
(1)将dm的jdbc驱动复制到jmeter解压目录的lib文件中,要重启jmeter才能生效
(2)直接在下面的预览找到对应的路径的jdbc驱动
5.2 添加JDBC Connection Configuration
右键DMRWC-TEST>>添加>>配置元件>>JDBC Connection Configuration
修改JDBC Connection Configuration
1、在Variable Name for created pool输入自定义的连接池名字:DMRWC
2、在Datebase URL输入:
jdbc:dm://DMRW?logLevel=all&logdir=D:\apache-jmeter-5.5\jdbclog
--如果没配置应用服务名也可以采用如下连接串
jdbc:dm://DMRW?DMRW=(192.168.145.66:5236,192.168.145.23:5236)&LOGIN_MODE=(1)&RW_SEPARATE=(1)&RW_PERCENT=(0)&logLevel=all&logdir=D:\apache-jmeter-5.5\jdbclog
3、在JDBC Driver class输入:dm.jdbc.driver.DmDriver
4、在username和password输入用户名和密码;
5.3添加线程组
右键DMRWC-TEST>>添加>>线程(用户)>>线程组
5.4 添加JDBC Request
右键线程组>>添加>>取样器>>JDBC Request
JDBC Request页面配置
在Variable Name of Pool declared in JDBC Connection Configuration一列输入刚才自定义的连接池名字:DMRWC
使用查询语句时Query Type类型需更改为Select Statement,下面编辑窗口中编辑对应的SQL语句 : select status$,mode$ from v$instance;
5.5 添加结果树
右键线程组>>添加>>监听器>>查看结果树
5.6运行jmeter查看效果
这里设置了线程数10测试的,根据响应数据请求可以看到全部是在备库执行,读写分离生效。