zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    一致性哈希算法
    Discourse 的标签(Tag)只能是小写的原因
    JIRA 链接 bitbucket 提示错误 Invalid OAuth credentials
    JIRA 如何连接到云平台的 bitbucket
    Apache Druid 能够支持即席查询
    如何在 Discourse 中配置使用 GitHub 登录和创建用户
    Apache Druid 是什么
    Xshell 如何导入 PuTTYgen 生成的 key
    windows下配置Nginx支持php
    laravel连接数据库提示mysql_connect() :Connection refused...
  • 原文地址:https://www.cnblogs.com/-wenli/p/13778801.html
Copyright © 2011-2022 走看看