首页 > 代码库 > sysbench测试

sysbench测试


sysbench是一个模块化、跨平台、多线程基准测试工具,可用于以下性能测试:

1.CPU性能

2.磁盘IO性能

3.调度程序性能

4.内存分配及传输速度

5.POSIX线程性能

6.数据库性能(OLTP基准测试)

 

CPU

 

CPU的性能测试通常有:1.算质数;2.算圆周率等

sysbench是使用质数相加的测试,对CPU测试直接运行run即可

命令

sysbench --num-threads=12--max-requests=10000 --debug=on --test=cpu --cpu-max-prime=20000 run

参数解析

num-thread:创建测试线程的数目,默认为1

max-requests:请求的最大数目,默认为10000,0代表不限制

debug:是否显示更多的调试信息,默认为off

test:指定测试项目名称:

cpu-max-prime:最大质数发生器数量,默认是10000

 

thread

 

测试线程调度的性能,用于高负载下的线程性能测试

命令

sysbench --num-threads=12--max-requests=10000 --test=threads --thread-yields=100 --thread-locks=2 run

参数解析

--thread-yields:每个请求产生多个线程,默认是1000

--threads-locks:每个线程的锁的数量,默认是8

 

memory

 

内存分配测试,主要针对不同的块大小进行内存的连续读写或者随机读写测试

可以分别测试8K16K的顺序和随机分配

8K顺序分配为例

命令

sysbench --num-threads=12--max-requests=10000 --test=memory --memory-block-size=8K--memory-total-size=100G --memory-access-mode=seq run

参数解析

memory-block-size:测试时,内存块大小

memory-total-size:传输数据的总大小

memory-access-mode:存储器存取方式(seqrnd),默认是seq

 

IO

 

文件IO的测试,用于测试IO负载性能

需要测试6种模式下的IO负载性能,以随机读写模式为例

命令

sysbench --num-threads=12--max-requests=10000  --test=fileio --file-total-size=3G--file-test-mode=rndrw prepare/run/clean

参数解析

file-total-size:文件总大小

file-test-mode:文件测试模式(seqrewr,顺序读写;seqrd,顺序读;seqwr,顺序写;rndrw,随机读写;rndrd,随机读;rndwr,随机写)


结论


  1. 内存,随机分配比顺序分配速度快,块分配越大速度越快

  2. 磁盘,顺序写比随机写快,顺序读比随机读慢,顺序读写比随机读写快,针对不同的服务器,可考虑用不同的读写模式已提升IO性能

本文出自 “8438262” 博客,请务必保留此出处http://8448262.blog.51cto.com/8438262/1912123

sysbench测试