• MySQL数据库OLTP基准测试( sysbench)


    转载:http://m.blog.chinaunix.net/uid-25723371-id-5598952.html

    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数据库参数未优化、调整。

    sysbench详细介绍:https://www.cnblogs.com/shixiuxian/p/11229822.html

  • 相关阅读:
    eclipse整合spring+springMVC+Mybatis
    复杂系统分析与设计思路
    .NET数据挖掘与机器学习开源框架
    原来rollup这么简单之 rollup.watch篇
    面试官:说说你对css效率的理解
    两个实用的调试技巧
    Roma
    一个很实用的css技巧简析
    仅仅知道如何终止XHR请求,或许对你来说是不够的!
    再问你一遍,你真的了解try..catch(finally)吗???
  • 原文地址:https://www.cnblogs.com/-wenli/p/13778801.html
Copyright © 2020-2023  润新知