Jmeter 压测 ShardingSphere
使用 Jmeter 压测 ShardingSphere JDBC & Proxy
背景
用户存在使用 Jmeter 压测 ShardingSphere JDBC & Proxy 的场景,以下简单介绍。
Jmeter 配置
使用官方最新的 5.6.3 Jmeter 包即可。
添加 ShardingSphere 依赖
可以直接将 ShardingSphere 相关 Jar 包放置到 jmeter/lib/ext 目录下,或者在 Test Plan 测试计划页面将 ShardingSphere Jar 包添加到 ClassPath 配置即可。
新建 jdbc connection configuration 配置
- 压测 ShardingSphere JDBC
如果需要压测 ShardingSphere JDBC,需要在此处配置 ShardingSphere DataSource 数据源。
需要通过 variable name for created pool 指定连接池名称,此处指定为 ss-jdbc-pool。
然后下面配置 ShardingSphere Driver 的 database url,驱动类,用户名密码。
![[img-20250701132021.png]]
1 |
|
配置参数解释:
Pool Prepared Statements 参数:建议配置为0,开启预编译缓存。
-1 表示禁用池化,0 表示池化预处理语句的数量不受限制。(默认为 -1 )
- 压测 ShardingSphere Proxy
如果 Proxy 使用的是 MySQL 协议,可以直接使用 MySQL 驱动进行连接。
指定 Proxy 配置,示例如下:1
2
3
4
5
6
7
8
9
10
11
12Database URL:
# 使用预编译参数提升压测性能。
jdbc:mysql://localhost:3307/sharding_db?useServerPrepStmts=true&cachePrepStmts=true&prepStmtCacheSize=5120
jdbc driver class:
com.mysql.cj.jdbc.Driver
username:
root
password:
root
Debug Jmeter
如果压测过程中遇到问题,Jmeter 支持通过 JVM_ARGS 参数指定 jvm 参数,可以在此处添加 debug 参数方便调试定位问题,如下:
1 |
|
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 flyingzc's blog!