seekdb Sysbench 测试
本文介绍如何使用 Sysbench 工具对 seekdb 进行性能测试。
什么是 Sysbench
Sysbench 是一个基于 LuaJIT 的多线程基准测试工具,支持通过编写脚本自定义测试逻辑。它能对 CPU、内存、线程、磁盘 I/O 及数据库等核心组件进行性能测试,常用于评估不同系统参数对数据库负载的影响。该工具无需修改源码,仅需自定义 Lua 脚本即可模拟多样化业务场景的测试需求。Sysbench 的测试类型包括:CPU 性能、磁盘 I/O 性能、线程调度性能、内存分配与访问速度、POSIX 线程性能及数据库性能。本次将重点针对数据库性能进行测试。
环境准备
测试前请按照如下要求进行测试环境准备:
-
Sysbench:建议使用 1.1 及以上版本。
-
seekdb:使用服务器模式 seekdb,详细部署操作请参考 通过 yum install 部署 seekdb。
-
部署的 seekdb 所对应的日志盘、clog 盘、data 盘分三块盘,性能级别 PL1,即在启动 seekdb 时,需在
/etc/oceanbase/seekdb.cnf下设置以下参数:port=2881
base-dir=/data/1/seekdb
data-dir=/data/2/seekdb
redo-dir=/data/3/seekdb提示若测试的 seekdb 规格为 1C2G 时,需要设置参数
memory_limit=2G。
测试方案
-
本次测试需使用到 2 台机器,Sysbench 部署在一台机器上。seekdb 部署在另一台机器上,seekdb 的规格为 4C8G 或者 1C2G,其日志盘、clog 盘、data 盘分三块盘,性能级别 PL1。
-
通过 Sysbench 导入 30 张表,每张表有 1 万行数据。
-
启动 Sysbench 客户端,进行
point_select、read_write、read_only、insert、update和write_only测试。 -
每轮测试
--time设置为 10s,线程数取值可以为10/50/100/200/400等。
使用 Sysbench 工具执行 Sysbench 测试
步骤一:进行环境调优
开始测试前,先要进行 seekdb 调优。请登录 seekdb 并执行以下语句配置相关参数。
alter system SET syslog_level='PERF';
alter system set _lcl_op_interval = '0ms';
call DBMS_MONITOR.OB_TENANT_TRACE_DISABLE(TENANT_NAME => 'sys');
alter system set default_auto_increment_mode = 'noorder';
alter system set _enable_adaptive_compaction = false;
alter system set _enable_defensive_check = false;