性能测试方法(OLTP)
更新时间:2023-09-22
本文档介绍以SysBench工具测试GaiaDB集群OLTP负载性能方法。您在做性能测试时,建议发工单由百度智能云工程师协助您来完成测试。
测试工具
SysBench是一款开源的多线程模块化的性能测试工具,常用于测试关系型数据库的性能。
测试环境
- 测试的BCC(专属服务器)实例和GaiaDB均在同一地域、同一可用区。
- BCC(专属服务器)实例和GaiaDB集群需要保证在同一个VPC。
-
测试用GaiaDB集群示例:
- 使用不同规格节点进行测试(建议使用节点规格为8C32G及以上配置的集群进行测试,以便获得比较理想的性能结果)。
- 只读、只写以及读写性能测试使用的是两节点集群(一主一从)。
- 使用的连接串为读写集群地址。
-
测试用BCC实例示例:
- 实例规格为bcc.g3.c2m8。
- 实例使用的操作系统为CentOS 7.6 x86_64 (64bit) 。
测试场景
对不同规格的GaiaDB一主一从节点集群的只读、只写、读写性能测试。
性能指标如下:
- TPS(Transactions Per Second):即数据库每秒执行的事务数,以COMMIT成功次数为准。
- QPS(Queries Per Second):即数据库每秒执行的SQL数(含INSERT、SELECT、UPDATE、DELETE等)。
测试准备
-
在BCC实例中执行如下命令安装SysBench。
#方法一: yum -y install sysbench sysbench --verion #使用sysbench 1.0.17版本 #方法二: yum -y install make automake libtool pkgconfig libaio-devel yum -y install mariadb-devel openssl-devel #下载sysbench 1.0.17版本(建议使用sysbench 1.0.17+版本) #下载地址:https://github.com/akopytov/sysbench/releases ./autogen.sh ./configure make -j make install
测试方法
- 在GaiaDB控制台-基本信息页面获取集群访问地址和端口。
- 在GaiaDB控制台-数据库管理页面创建数据库sbtest。
- 在GaiaDB控制台-账号管理页面创建数据库用户。
- 在GaiaDB控制台-安全管理页面添加BCC实例IP白名单。
-
在BCC实例中使用SysBench测试GaiaDB一主一从节点集群的只读性能,测试时间为5分钟。
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=100000 --tables=64 --events=0 --time=300 --threads=XXX oltp_read_only prepare #准备数据 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=100000 --tables=64 --events=0 --time=300 --threads=XXX --percentile=95 --range_selects=0 --skip-trx=1 --report-interval=1 oltp_read_only run #运行测试 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=100000 --tables=64 --events=0 --time=300 --threads=XXX oltp_read_only cleanup #数据清理
-
在BCC实例中使用SysBench测试GaiaDB一主一从节点集群的只写性能,测试时间为5分钟。
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=100000 --tables=64 --events=0 --time=300 --threads=XXX oltp_write_only prepare #准备数据 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=100000 --tables=64 --events=0 --time=300 --threads=XXX --percentile=95 --report-interval=1 oltp_write_only run #运行测试 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=100000 --tables=64 --events=0 --time=300 --threads=XXX oltp_write_only cleanup #数据清理
-
在BCC实例中使用SysBench测试GaiaDB一主一从节点集群的混合读写性能,测试时间为5分钟。
sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=100000 --tables=64 --events=0 --time=300 --threads=64 oltp_read_write prepare #准备数据 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=100000 --tables=64 --events=0 --time=300 --threads=64 --percentile=95 --report-interval=1 oltp_read_write run #运行测试 sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=100000 --tables=64 --events=0 --time=300 --threads=64 oltp_read_write cleanup #数据清理