1.sysbench基础知识

sysbench的cpu测试是在指定时间内,循环进行素数计算

素数(也叫质数)就是从1开始的自然数中,无法被整除的数,比如2、3、5、7、11、13、17等。编程公式:对正整数n,如果用2到根号n之间的所有整数去除,均无法整除,则n为素数。

2.sysbench安装

# CentOS7下可使用yum安装

yum install sysbench

3.CPU压测命令

# 默认参数,素数上限10000,时间10秒,单线程

sysbench cpu run

4.常用参数

--cpu-max-prime: 素数生成数量的上限

-若设置为3,则表示2、3、5(这样要计算1-5共5次)
-若设置为10,则表示2、3、5、7、11、13、17、19、23、29(这样要计算1-29共29次)
-默认值为10000

--threads: 线程数

-若设置为1,则sysbench仅启动1个线程进行素数的计算
-若设置为2,则sysbench会启动2个线程,同时分别进行素数的计算
-默认值为1

--time: 运行时长,单位秒

-若设置为5,则sysbench会在5秒内循环往复进行素数计算,
从输出结果可以看到在5秒内完成了几次,
比如配合--cpu-max-prime=3,则表示第一轮算得3个素数,
如果时间还有剩就再进行一轮素数计算,直到时间耗尽。
每完成一轮就叫一个event
-默认值为10
-相同时间,比较的是谁完成的event多

--events: event上限次数

-若设置为100,则表示当完成100次event后,即使时间还有剩,也停止运行
-默认值为0,则表示不限event次数
-相同event次数,比较的是谁用时更少

5.案例结果分析

执行命令

# 素数上限2万,默认10秒,2个线程

sysbench cpu -- cpu - max - prime = 20000 -- threads = 2 run

结果分析

sysbench 1.0.9 (using system LuaJIT 2.0.4)
Running the test with following options:
Number of threads: 2 // 指定线程数为2
Initializing random number generator from current time
Prime numbers limit: 20000 // 每个线程产生的素数上限均为2万个
Initializing worker threads...
Threads started! CPU speed:
events per second: 650.74 // 所有线程每秒完成了650.74次event General statistics:
total time: 10.0017s // 共耗时10秒
total number of events: 6510 // 10秒内所有线程一共完成了6510次event Latency (ms):
min: 3.03 // 完成1次event的最少耗时3.03秒
avg: 3.07 // 所有event的平均耗时3.07毫秒
max: 3.27 // 完成1次event的最多耗时3.27毫秒
95th percentile: 3.13 // 95%次event在3.13秒毫秒内完成
sum: 19999.91 // 每个线程耗时10秒,2个线程叠加耗时就是20秒 Threads fairness:
events (avg/stddev): 3255.0000/44.00 // 平均每个线程完成3255次event,标准差为44
execution time (avg/stddev): 10.0000/0.00 // 每个线程平均耗时10秒,标准差为0

event: 完成了几轮的素数计算
stddev(标准差): 在相同时间内,多个线程分别完成的素数计算次数是否稳定,如果数值越低,则表示多个线程的结果越接近(即越稳定)。该参数对于单线程无意义。

6.结果分析

如果有2台服务器进行CPU性能对比,当素数上限和线程数一致时:

  • 相同时间,比较event
  • 相同event,比较时间
  • 时间和event都相同,比较stddev(标准差)

												

linux sysbench : CPU性能测试详解的更多相关文章

  1. linux sysbench (一): CPU性能测试详解

    网上sysbench教材众多,但没有一篇中文教材对cpu测试参数和结果进行详解. 本文旨在能够让读者对sysbench的cpu有一定了解. 小慢哥的原创文章,欢迎转载 1.sysbench基础知识 s ...

  2. LINUX系统VMSTAT命令详解

    linux系统vmstat命令详解 [转自 https://www.cnblogs.com/wensiyang0916/p/6514820.html] vmstat 1    1表示每秒采集一次vms ...

  3. [转]Linux内核源码详解--iostat

    Linux内核源码详解——命令篇之iostat 转自:http://www.cnblogs.com/york-hust/p/4846497.html 本文主要分析了Linux的iostat命令的源码, ...

  4. Linux 系统性能监控命令详解

    Linux 系统性能监控命令详解 CPU MEMORY IO NETWORK LINUX进程内存占用查看方法 系统负载过重时往往会引起其它子系统的问题,比如:->大量的读入内存的IO请求(pag ...

  5. Linux下ps命令详解 Linux下ps命令的详细使用方法

    http://www.jb51.net/LINUXjishu/56578.html Linux下的ps命令比较常用 Linux下ps命令详解Linux上进程有5种状态:1. 运行(正在运行或在运行队列 ...

  6. linux 开机启动过程详解

    Linux开机执行内核后会启动init进程,该进程根据runlevel(如x)执行/etc/rcx.d/下的程序,其下的程序是符号链接,真正的程序放在/etc/init.d/下.开机启动的程序(服务等 ...

  7. Linux命令工具 top详解

    Linux命令工具 top详解 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.top是一个动态显示过程,即可以通过用户按键来不 ...

  8. Linux开机启动程序详解

    Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...

  9. Linux开机启动程序详解[转]

    Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤 ...

随机推荐

  1. 深度强化学习(DRL)专栏开篇

    2015年,DeepMind团队在Nature杂志上发表了一篇文章名为"Human-level control through deep reinforcement learning&quo ...

  2. Python python 函数参数:必选参数,默认参数

    import math # 函数的必选参数 '''函数的必选参数,指的是函数调用的时候必须传入的参数 ''' def cal (n): return n * n var = cal(2) '''上面的 ...

  3. class-dump的安装和使用

    安装步骤 1.下载地址:http://stevenygard.com/projects/class-dump/ 2.打开终端输入 open /usr/local/bin 3.把dmg文件中的class ...

  4. Blazor入门笔记(2)-分部类组件与组件的继承

    1.前言 本文接自Blazor的组件(1)-从0构建一个组件 2.分部类组件 Razor组件你可理解为就是一个类名与文件名相同的类,因此,可以新建一个同名的partial类,将组件中@code里面的代 ...

  5. 逃生 HDU 4857(反向建图 + 拓扑排序)

    逃生 链接 Problem Description 糟糕的事情发生啦,现在大家都忙着逃命.但是逃命的通道很窄,大家只能排成一行. 现在有n个人,从1标号到n.同时有一些奇怪的约束条件,每个都形如:a必 ...

  6. P1006 传纸条(二维、三维dp)

    P1006 传纸条 输入输出样例 输入 #1 复制 3 3 0 3 9 2 8 5 5 7 0 输出 #1 复制 34 说明/提示 [限制] 对于 30% 的数据,1≤m,n≤10: 对于 100% ...

  7. 《Three.js 入门指南》2.4.1- 照相机 - 透视投影demo

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Light of future-冲刺Day 7

    目录 1.SCRUM部分: 每个成员进度 SCRUM 会议的照片 签入记录 代码运行截图 用户浏览界面 订单详情界面 管理员浏览界面 新增后台界面 2.PM 报告: 时间表 燃尽图 任务总量变化曲线 ...

  9. Cacti监控服务

    Cacti监控服务 案例1:部署Cacti监控平台 案例2:构建Cacti监测系统 1 案例1:部署Cacti监控平台 1.1 问题 本案例要求部署一台Cacti监控主机,并安装相关监控组件,为进一步 ...

  10. 这份Java Web必读书单,值得所有Java工程师一看!

    点击蓝色"程序员书单"关注我哟 加个"星标",每天带你读好书! 经过了10多年的发展,Java Web从开发框架到社区都已经非常成熟,而目前市面上最流行的Jav ...