MySQL数据库基于sysbench实现OLTP基准测试

sysbench是一款非常优秀的基准测试工具,它能够精准的模拟mysql数据库存储引擎innodb的磁盘的i/o模式。因此,基于sysbench的这个特性,下面利用该工具,对mysql数据库支撑从简单到复杂事务处理工作负载的基准测试与验证。

测试场景一、oltp读基准测试

1) 准备数据

sysbench –test=oltp –mysql-table-engine=innodb –oltp-table-size=100000

–mysql-db=cbusdb –mysql-user=root prepare

2) oltp随机读一致性业务场景测试验证

time sysbench –test=oltp –oltp-table-size=100000 –mysql-db=cbusdb

–mysql-user=root –max-time=60 –oltp-read-only –max-requests=0 –num-threads=8 run

以上测试模拟并发8个线程,最大请求10000次/秒,持续60秒对单表数据集10w条数据量的表进行随机读操作,测试结果如下所示:

通过模拟8个并发用户在数据量10w条的表上进行一致性读操作并结合上图,分析得出如下结论:

1) 60秒内共执行读请求766094次,更新及其他类型的请求109442次,qps:12765;

2) 60s内共执行事务操作54721,tps:911,成功率100%;

3) 每个事务执行最小时间2.98ms,最大时间184.5ms,平均执行时间8.76ms。

以上测试结果运行环境基本配置信息:

1) 虚拟机2颗cpu、2g内存,20g存储空间;

2) mysql数据库参数未优化、调整。

测试场景二、oltp混合类型负载测试

模拟oltp随机读、写(更新、删除、插入):

sysbench –test=oltp –mysql-table-engine=innodb –oltp-table-size=10000

–mysql-db=cbusdb –mysql-user=root –max-time=60

–oltp-nontrx-mode=update_key –max-requests=0 –num-threads=8 run

测试结果如下所示:

通过模拟8个并发用户在数据量10w条的表上模拟复杂的混合性工作负载测试并结合上图,分析得出如下结论:

1) 60秒内共执行读请求233268次,写请求83260次,其他类型的请求:33309,qps:5273;

2) 60s内共执行事务操作16647,tps:277,锁冲突造成的死锁的数量15个,事务的成功率99.91%;

3) 每个事务执行最小时间8.19ms,最大时间1299.78ms,平均执行时间28.82ms。

以上测试结果运行环境基本配置信息:

1) 虚拟机2颗cpu、2g内存,20g存储空间;

2) mysql数据库参数未优化、调整。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐