提示:本文介绍了如何使用Jmeter连接OceanBase数据库进行接口测试
前言
OceanBase 数据库是一个分布式的数据库,管理着的许多台 OBServer 作为一个 OBServer 集群为多个租户提供数据服务。 OceaBase 集群管控的所有 OBServer 可以被视作一个超级大的“资源蛋糕”,在分配资源时,按需分配给创建租户时申请的资源。 为了保证 OBServer 集群顺畅运行,还会在初始化(BootStrap)时创建出系统租户,并分配给系统租户少量资源保证内部运行。
一、使用步骤
1.下载数据库驱动
1.使用JMeter连接OceanBase的时候需要加载OceanBase的Java驱动 ,可以自行去官网下载,也可以通过以下方式获取。
链接:https://pan.baidu.com/s/1W7IMM_DPOL6-VG5M9gFxHA?pwd=abcd
提取码:abcd
2.把下载好的jar包放到Jmeter的lib文件夹下。
2.JDBC配置
Max Number of Connections:
这个指连接池里最多多少个连接。如果压测线程数远高于这个值,那么压测线程可能会需要等待这个连接池创建或返还数据库连接(即到OceanBase的连接)给它。如果等不到可能会报错。在这个环节,客户端压测线程拿不到连接,不一定跟OceanBase数据库有直接关系。在Java应用里面也同理。
Transaction Isolation:
这个是数据库连接使用的事务隔离级别,OceanBase支持两种事务隔离级别:读已提交(Read-Committed)和序列化(Serializable)。
Test While Idle:
这个是连接探活(keepalive)设置。这个设置对应用却很优必要。有时候应用会说数据库连接报错说在一个关闭的连接上执行SQL报错,这个就是因为连接池中的数据库连接因为其他原因已断开了。所以,数据库连接池通常都需要探活机制。这里由于是压测场景基本无闲置连接,所以可以设置为False。
Database URL:
数据库连接URL格式,这个不同的数据库URL不一样
OceanBase格式
jdbc:oceanbase://ip:port/实例名
mysql格式
jdbc:mysql://ip:port/实例名
oracle格式
jdbc:oracle:thin:@ip:port/实例名
JDBC Driver Class
:
数据库驱动中的Main类名,这个不同的数据库驱动不一样
OceanBase格式
com.alipay.oceanbase.obproxy.mysql.jdbc.Driver
mysql格式
com.mysql.jdbc.Driver
oracle格式
oracle.jdbc.OracleDriver
Username:
用户名,OceanBase的用户名格式比较特别,是租户里的 用户名@租户名#集群名,例如:
tpc@obbmsql#obdb // tpc 租户里的用户名(就是数据库用户名) obbmsql租户 #obdb是集群
Password :跟普通的数据库一样,没有特别之处
总结
OceanBase数据库的JDBC配置主要是Database URL、JDBC Driver class、Username这三个配置项,配置对后就可以直接连接,后续sql请求跟普通的数据库一样。希望对你有所帮助!