作家
登录

详解MySQL基准测试和sysbench工具

作者: 来源: 2017-10-12 11:33:35 阅读 我要评论

  • sysbench ./tests/include/oltp_legacy/oltp.lua 
  • 测试时应用的脚本为lua脚本,可以应用sysbench自带脚本,也可以本身开辟。对于大年夜多半应用,应用sysbench自带的脚本就足够了。不合版本的sysbench中,lua脚本的地位可能不合,可以本身在sysbench路径下应用find敕令搜刮oltp.lua。P.S.:大年夜多半数据办事都是oltp类型的,如不雅你不懂得什么是oltp,那么大年夜概率你的数据办事就是oltp类型的。

    (3)options

    sysbench的参数有很多,个中比较常用的包含:

    MySQL连接信息参数

    • –mysql-host:MySQL办事器主机名,默认localhost;如不雅在本机上应用localhost报错,提示无法连接MySQL办事器,改成本机的IP地址应当就可以了。
    • –mysql-port:MySQL办事器端口,默认3306
    • –mysql-user:用户名
    • –mysql-password:暗码

    MySQL履行参数

    • –oltp-test-mode:履行模式,包含simple、nontrx和complex,默认是complex。simple模式下只测试简单的萌芽;nontrx不仅测试萌芽,还测试插入更新等,然则不应用事务;complex模式下测试最周全,会测试增删改查,并且会应用事务。可以根据本身的须要选择测试模式。
    • –oltp-tables-count:测试的表数量,根据实际情况选择
    • –oltp-table-size:测试的表的大年夜小,根据实际情况选择
    • –threads:客户端的并发连接数
    • –time:测试履行的时光,单位是秒,该值不要太短,可以选择120
    • –report-interval:生成申报的时光距离,单位是秒,如10

    4、sysbench应用举例

    在履行sysbench时,应当留意:

    (1)尽量不要在MySQL办事器运行的机械长进行测试,一方面可能无法表现收集(哪怕是局域网)的影响,另一方面,sysbench的运行(尤其是设置的并发数较高时)会影响MySQL办事器的表示。

    (2)可以慢慢增长客户端的并发连接数(–thread参数),不雅察在连接数不合情况下,MySQL办事器的表示;如分别设置为10,20,50,100等。

    (3)一般履行模式选择complex即可,如不雅须要特别测试办事器只读机能,或不应用事务时的机能,可以选择simple模式或nontrx模式。

    (4)如不雅持续进行多次测试,留意确保之前测试的数据已经被清理干净。

    下面是sysbench应用的一个例子:

    1. sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.65.66 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=10 --time=120 --report-interval=10 prepare 

    个中,履行模式为complex,应用了10个表,每个表有10万条数据,客户端的并发线程数为10,履行时光为120秒,每10秒生成一次申报。

    (2)履行测试

    将测试结不雅导出到文件中,便于后续分析。

    1. sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.65.66 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=10 --time=120 --report-interval=10 run >> /home/test/mysysbench.log 

    (3)清理数据

    履行完测试后,清理数据,不然后面的测试会受到影响。

    (3)安装

    sysbench是跨平台的基准测试对象,支撑多线程,支撑多种数据库;重要包含以下几种测试:

    • cpu机能
    • 磁盘io机能
    • 调剂法度榜样机能
    • 内存分派及传输速度
    • POSIX线程机能
    • 数据库机能(OLTP基准测试)
    1. sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=192.168.65.66 --mysql-port=3306 --mysql-user=root --mysql-password=123456 cleanup 

    测试停止后,查看输出文件,如下所示:

    个中,对于我们比较重要的信息包含:

    queries:萌芽总数及qps

    transactions:事务总数及tps

    Latency-95th percentile:前95%的请求的最大年夜响应时光,本例中是344毫秒,这个延迟异常大年夜,是因为我用的MySQL办事器机能很差;在正式情况中这个数值是绝对不克不及接收的。

    三、建议

    下面是应用sysbench的一些建议。

    基准测试与压力测试

    1、在开端测试之前,应当起首明白:应采取针半数个体系的基准测试,照样针对MySQL的基准测试,照样二者都须要。

    2、如不雅须要针对MySQL的基准测试,那么还须要明白精度方面的请求:是否须要应用临盆情况的┞锋实数据,照样应用对象生成也可以;前者实施起来加倍繁琐。如不雅要应用真实数据,尽量应用全部数据,而不是部分数据。

    3、基准测试要进行多次才有意义。

    4、测试时须要留意主大年夜同步的状况。


      推荐阅读

      数据集市的挑战:如何才能识别和处理数据安全

    元数据须要治理数据拜访权限、取得数据概要结不雅,数据开辟者和终端用户的反馈。元数据储存了定义临盆预备就绪的策略,并且可以或许履行这些策略。没有元数据,数据湖就会无法应用,并变成一个严重的安然风险。 >>>详细阅读


    本文标题:详解MySQL基准测试和sysbench工具

    地址:http://www.17bianji.com/lsqh/37841.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)