Sysbench 测试报告
背景信息
Sysbench是一款开源的、模块化的、跨平台的多线程性能测试工具,可以执行数据库在CPU、内存、线程、IO等方面的性能测试。
Benchmark Boot 是为 PolarDB-X 开发的一站式压测平台,目前支持的基准测试包括 Sysbench、TPC-C、TPC-H,通过图形化的方式提升测试效率。
测试设计
测试数据量
sysbench 数据包含16张表,每张表1千万的数据量
测试用例
Sysbench验证PolarDB-X在标准版集中式的单表场景下的性能表现。
主机资源
组件名称 | 机型 | 说明 |
---|---|---|
OPS机器 | ecs.g7.4xlarge | 安装部署 |
数据库存储节点 (DN) | ecs.i4.8xlarge * 3 | 32c256g + 7TB的存储 单价:7452元/月 |
PolarDB-X标准版集中式,仅需要部署存储节点DN,不需要额外部署计算节点CN
压力机
组件名称 | 机型 | 说明 |
---|---|---|
压力机 | ecs.hfg7.6xlarge | 24c96g |
测试方法
步骤1:准备压力机
部署Benchmark-Boot,参考文档:使用Benchmark Boot进行压测
# 下载镜像
docker pull polardbx/benchmark-boot:latest
# 启动容器
docker run -itd --name 'benchmark-boot' --privileged --net=host \
-v /etc/localtime:/etc/localtime polardbx/benchmark-boot:latest \
/usr/sbin/init
# 验证
curl http://127.0.0.1:4121/
如果采用离线部署方式,可以采用ops机器下载benchmark-boot镜像后上传到私有仓库
步骤2:准备压测所用 PolarDB-X 实例
创建 PolarDB-X 实例,详细操作步骤请参见:通过 PXD 部署
实例创建参数:
version: v1
type: polardbx
cluster:
name: pxc_test_standard
dn:
image: registry:5000/polardbx-engine-2.0:latest
replica: 1
nodes:
- host_group: [10.0.3.244, 10.0.3.245, 10.0.3.246]
resources:
mem_limit: 80G
验证实例可连接,打开Benchmark-Boot,选择左侧运行压测->数据库连接,将数据库链接信息填入Benchmark-Boot,点击“提交”
步骤3:调整实例参数
通过PXD默认创建的PolarDB-X 实例,采用了内置的my.cnf参数模板,默认采用双1参数:
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1
步骤4:压测数据准备
打开Benchmark-Boot, 选择左侧 运行压测->Sysbench->切换库,填入库名sbtest_mysql,选择MySQL模式
提交后,下拉到页面底部,填入准备数据的参数,表16张,表大小10000000,并发数16,不勾选单表均衡模式,点击提交,等待准备数据任务完成
步骤5:执行压测
压测场景 | 名称 |
---|---|
点查 | oltp_point_select |
只读 | oltp_read_only |
读写 | oltp_read_write |
按索引更新 | oltp_update_index |
非索引更新 | oltp_update_non_index |
写入 | oltp_write_only |
表格中包含本次压测的Sysbench场景名称,下文以点查oltp_point_select场景为例展示压测方法
打开Benchmark-Boot,确认要压测的数据库是否正确,如果不是,请点击切换库
选择左侧 运行压测->Sysbench, 在运行Sysbench表单中
注意 其他参数 要用JSON格式,可拷贝如下设置,设置完成后点击运行压测
{
"disable-ps-mode":false,
"range-size":5
}
查看压测结果,点击查看实时结果,进入实时数据页面查看实时结果
等待压测完成后,记录结果 回到压测页面,可以选择填充上次压测参数,将场景或者并发稍作修改后,可继续压测其他场景
测试结果
以下结果均以QPS作为衡量性能的标准。
分区表性能
场景 | 50 | 100 | 150 | 200 | 250 | 300 |
---|---|---|---|---|---|---|
oltp_point_select | 317151.01 | 464316.53 | 485389.86 | 487124.91 | 489078.48 | 487684.83 |
oltp_read_only | 291317.42 | 401566.17 | 420416.04 | 388937.68 | 382861.20 | 413884.86 |
oltp_read_write | 156294.12 | 199195.62 | 214608.23 | 228713.64 | 254317.93 | 265322.61 |
oltp_write_only | 38574.92 | 52876.25 | 59393.07 | 62235.96 | 65523.25 | 66866.19 |
oltp_update_index | 38005.13 | 51803.68 | 58119.58 | 62263.46 | 63918.22 | 64203.57 |
oltp_update_non_index | 39712.23 | 54418.94 | 64213.46 | 67319.67 | 69110.39 | 70028.34 |