本文主要是介绍sysbench命令小记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、命令介绍
sysbench是一个是一个开源的、模块化的、跨平台的多线程性能测试工具,它支持CPU运算性能、磁盘IO性能、调度程序性能、内存分配及传输速度、POSIX线程性能和数据库性能(OLTP基准测试)。
Usage:sysbench [options] [testname] [command]1、支持的testname fileio - 文件IO测试cpu - CPU性能测试memory - 内存功能速度测试threads - 线程性能测试mutex - 互斥锁性能测试
常规选型 | 含义 |
---|---|
–threads=N | 运行的线程数 |
–events=N | 事件上限次数 |
–time=N | 运行时长,以秒为单位 |
二、CPU测试
(1)常用参数
--cpu-max-prime=N: 素数生成数量的上限如果设置为3,则表示2、3、5(要计算1-5共5次);如果设置为10,则表示2、3、5、7、11、13、17、19、23、29(要计算1-29共29次),默认值为10000。--threads=N: 线程数如果设置为1,则sysbench仅启动1个线程进行素数的计算;如果设置为2,则sysbench会启动2个线程,同时分别进行素数的计算。默认值为1,即单线程。--time=N: 运行时长,单位秒。默认值为10如果设置为5,则sysbench会在5秒内循环往复进行素数计算,从输出结果可以看到在5秒内完成了几次;比如配合--cpu-max-prime=3,则表示第一轮算得3个素数,如果时间还有剩就再进行一轮素数计算,直到时间耗尽。相同时间,比较的是谁完成的event多。--events=N: event上限次数每完成一轮就叫一个event,设置为100,则表示当完成100次event后,即使时间还有剩,也停止运行。默认值为0,则表示不限event次数,相同event次数,比较的是谁用时更少。
(2)实例
[root@cp ~]# sysbench --cpu-max-prime=10000 --threads=2 --time=30 cpu run
sysbench 1.0.17 (using system LuaJIT 2.0.4)Running the test with following options:
Number of threads: 2 ## 运行的线程数
Initializing random number generator from current timePrime numbers limit: 10000 ## 每个线程的素数上限Initializing worker threads...Threads started!CPU speed:events per second: 932.57 ## 所有线程平均每秒完成event的个数General statistics:total time: 30.0015s ## 总共运行时间total number of events: 27980 ## 总共完成的event个数Latency (ms):min: 1.05 ## 完成1次event的最少耗时avg: 2.14 ## 完成所有event的平均耗时max: 19.26 ## 完成1次event的最多耗时95th percentile: 7.17 ## 95%的event完成的时间sum: 59945.85 ## 所有线程的时间综合Threads fairness:events (avg/stddev): 13990.0000/3.00 ## 平均每个线程完成envet的次数,后一个值是标准差execution time (avg/stddev): 29.9729/0.01 ## 平均每个线程平均耗时,后一个值是标准差注:stddev(标准差): 在相同时间内,多个线程分别完成的素数计算次数是否稳定,如果数值越低,则表示多个线程的结果越接近(即越稳定)。该参数对于单线程无意义。如果有2台服务器进行CPU性能对比,当素数上限和线程数一致时:相同时间,比较event;相同event,比较时间;时间和event都相同,比较stddev(标准差)。
三、线程测试
(1)常用参数
--thread-yields=N : 指定每个请求的压力,默认为1000--thread-locks=N : 指定每个线程的锁数量,默认为8
(2)实例
[root@cp ~]# sysbench --threads=2 --thread-yields=1000 --thread-locks=1 threads runGeneral statistics:total time: 10.0031stotal number of events: 4217Latency (ms):min: 2.18avg: 4.74max: 10002.5495th percentile: 2.48sum: 19999.84Threads fairness:events (avg/stddev): 2108.5000/2107.50execution time (avg/stddev): 9.9999/0.00[root@cp ~]# sysbench --threads=2 --thread-yields=1000 --thread-locks=10 threads runGeneral statistics:total time: 10.0005stotal number of events: 14193Latency (ms):min: 1.21avg: 1.41max: 2.2295th percentile: 1.50sum: 19989.23Threads fairness:events (avg/stddev): 7096.5000/8.50execution time (avg/stddev): 9.9946/0.00##对比锁的限制
这篇关于sysbench命令小记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!