Sysbench硬件基准测试

推荐使用的测试工具:sysbench、mysqlslap
sysbench针对性更强,设计初衷就是为了衡量mysql的性能。
mysqlslap官网提供的压测工具,可模拟多个并发客户端访问mysql执行压力测试。
 

1、sysbench的使用

目前sysbench主要支持mysql、postgreSQL、oracle三种数据库。
主要包括以下几种方式的测试
    Fileio、Cpu、memory、threads、mutex、OLTP【一般选择此类型测试】
    sysbench的安装
    ubuntu可以直接使用 apt-get install sysbench安装,默认安装的版本是0.4.12

 1 ) 关于CPU的性能测试

    cpu测试主要就是进行素数的运算,在下面的例子中,指定了最大的素数20000
sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=5          #执行cpu的性能测试,测试素数最大为20000, 线程数为5
 可选用参数:
  • --percentile 95%:响应时间,也就是删除5%的响应时间最长的请求,然后从剩余的请求中选取最大的响应时间值
    --max-time:运行时间限制,单位是秒
    --num-threads: 线程数
    --max-requests: 查询数限制

2 ) 关于线程数的性能测试    *待细化

3 ) 关于磁盘I/O的性能测试   

   代码分为3个步骤,分别是准备数据、执行测试、清除测试数据
--num-thread=16   #指定了最大创建16个线程
--file-total-size=12G  #参数指定创建的文档总大小12GB
--file-test-mode=rndrw  #指定文档的读写模式为随机读写

磁盘io性能测试是进行数据库基准测试要着重加以研究的,我们需要衡量各种因素,比如:

操作类型、读写的频率、IO大小、是随机读写还是顺序读写、写的类型是异步还是同步、并发线程情况、操作系统缓存状态及文件系统有哪些调优因素。

文件测试类型有:

    seqwr顺序写、seqrewr顺序重写、seqrd顺序读、rndrd随机读、rndwr随机写、rndrw随机读写

sysbench --test=fileio --num-threads=16 --file-total-size=12G --file-test-mode=rndrw prepare     #准备数据
sysbench --test=fileio --num-threads=16 --file-total-size=12G --file-test-mode=rndrw run         #执行测试
sysbench --test=fileio --num-threads=16 --file-total-size=12G --file-test-mode=rndrw cleanup     #清除测试数据

4)内存测试

    指定了本次测试的整个过程是在内存中传输4GB的数据量,每个块(block)的大小为8KB
sysbench --test=memory --memory-block-size=8K --memory-total-size=4G run

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">





原文地址:https://www.cnblogs.com/kunpengv5/p/7477734.html