sysbench介绍
Sysbench 是一个模块化、跨平台的多线程基准测试工具,主要用于评估系统性能,特别适用于数据库性能测试。
主要特性
多用途:可用于测试CPU、内存、文件I/O、线程和数据库性能
跨平台:支持Linux、Windows、macOS等操作系统
模块化设计:不同测试项目通过不同模块实现
支持多种数据库:达梦、MySQL、PostgreSQL等
常见测试模式
CPU性能测试:评估处理器计算能力
内存性能测试:测量内存操作速度
文件I/O测试:评估磁盘I/O性能
线程测试:测量线程调度性能
数据库测试:评估数据库性能(最常用)
测试环境:
一、sysbench安装
cd sysbench-master-dpi/
yum -y install gcc automake libtool
chmod +x configure ./configure --with-dm \ --without-mysql \ make make install sysbench --version
##sysbench版本为1.1.0
查看部分性能测试脚本:
[root@dameng01 lua]# cd /root/sysbench-master-dpi/src/lua
更新root环境变量
vi ~/.bash_profile
export DM_HOME=/dm/dmdbms/dm8
source ~/.bash_profile
[root@dameng01 lua]# echo $DM_HOME
/dm/dmdbms/dm8
二、测试数据准备
建立测试表空间和用户
-- 测试表空间
CREATE TABLESPACE testtbs
DATAFILE '/dm/dmdata/DM01/TESTTBS.DBF'
SIZE 500 AUTOEXTEND ON NEXT 100;
-- 用户
CREATE USER sbtest IDENTIFIED BY Dameng123
DEFAULT TABLESPACE testtbs
QUOTA UNLIMITED ON testtbs;
-- 权限
GRANT CREATE SESSION, CREATE TABLE,
CREATE SEQUENCE, CREATE PROCEDURE
TO sbtest;
准备数据:
sysbench oltp_read_write.lua \
--tables=15 \
--table-size=10000 \
--db-driver=dm \
--dm-db=localhost:5236 \
--dm-user=sbtest \
--dm-password=Dameng123 \
--threads=4 \
--time=180 \
--auto-inc=0 \
prepare
#发现建立了15张测试表,每张表数据量10000
三、OLTP性能测试
读写测试:
oltp_read_write.lua \
--tables=15 \
--table-size=10000 \
--db-driver=dm \
--dm-db=localhost:5236 \
--dm-user=sbtest \
--dm-password=Dameng123 \
--auto-inc=0 \
--threads=4 \
--time=180 \
run
#测试过程查看测试线程执行指令
主备实时集群测试结果:
#TPS: 378.21 QPS: 7564.26
单机测试结果:
#TPS: 539.10 QPS: 10782.94
关键性能指标对比:
DM主备实时集群性能瓶颈分析
通过sysbench测试得到的DM性能视图分析发现:
网络同步延迟占总事务时间的23%
备库确认等待消耗15%的CPU时间
dmarch.ini:
ARCH_TYPE = REALTIME/ TIMELY
**高性能模式 **和 事务一致性模式
ARCH_WAIT_APPLY = 0/1 (高性能/事务一致性),有点像mysql半同步参数 rpl_semi_sync_master_wait_point=AFTER_SYNC/AFTER_COMMIT
文章
阅读量
获赞