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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介:

1.sysbench基础知识

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

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

2.sysbench安装

 
  1. # CentOS7下可使用yum安装

  2. yum install sysbench

3.CPU压测命令

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

  2. sysbench cpu run

4.常用参数

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

 
  1. - 若设置为3,则表示235(这样要计算1-55次)

  2. - 若设置为10,则表示2357111317192329(这样要计算1-2929次)

  3. - 默认值为10000

--threads: 线程数

 
  1. - 若设置为1,则sysbench仅启动1个线程进行素数的计算

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

  3. - 默认值为1

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

 
  1. - 若设置为5,则sysbench会在5秒内循环往复进行素数计算,

  2. 从输出结果可以看到在5秒内完成了几次,

  3. 比如配合--cpu-max-prime=3,则表示第一轮算得3个素数,

  4. 如果时间还有剩就再进行一轮素数计算,直到时间耗尽。

  5. 每完成一轮就叫一个event

  6. - 默认值为10

  7. - 相同时间,比较的是谁完成的event

--events: event上限次数

 
  1. - 若设置为100,则表示当完成100event后,即使时间还有剩,也停止运行

  2. - 默认值为0,则表示不限event次数

  3. - 相同event次数,比较的是谁用时更少

5.案例结果分析

执行命令

 
  1. # 素数上限2万,时间10秒,2个线程

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

结果分析

 
  1. sysbench 1.0.9 (using system LuaJIT 2.0.4)

  2. Running the test with following options:

  3. Number of threads: 2 // 指定线程数为2

  4. Initializing random number generator from current time

  5. Prime numbers limit: 20000 // 每个线程产生的素数上限均为2万个

  6. Initializing worker threads...

  7. Threads started!

  8. CPU speed:

  9. events per second: 650.74 // 所有线程每秒完成了650.74次event

  10. General statistics:

  11. total time: 10.0017s // 共耗时10秒

  12. total number of events: 6510 // 10秒内所有线程一共完成了6510次event

  13. Latency (ms):

  14. min: 3.03 // 完成1次event的最少耗时3.03秒

  15. avg: 3.07 // 所有event的平均耗时3.07毫秒

  16. max: 3.27 // 完成1次event的最多耗时3.27毫秒

  17. 95th percentile: 3.13 // 95%次event在3.13秒毫秒内完成

  18. sum: 19999.91 // 每个线程耗时10秒,2个线程叠加耗时就是20秒

  19. Threads fairness:

  20. events (avg/stddev): 3255.0000/44.00 // 平均每个线程完成3255次event,标准差为44

  21. execution time (avg/stddev): 10.0000/0.00 // 每个线程平均耗时10秒,标准差为0

event: 完成了几轮的素数计算

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

6.结果分析

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

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

原文发布时间为:2018-09-15
本文作者:陈承
本文来自云栖社区合作伙伴“ 老叶茶馆”,了解相关信息可以关注“ 老叶茶馆”。
相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
1月前
|
安全 Linux 虚拟化
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
38 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
13天前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
37 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
28天前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
34 4
|
1月前
|
关系型数据库 MySQL 测试技术
【赵渝强老师】MySQL的基准测试与sysbench
本文介绍了MySQL数据库的基准测试及其重要性,并详细讲解了如何使用sysbench工具进行测试。内容涵盖sysbench的安装、基本使用方法,以及具体测试MySQL数据库的步骤,包括创建测试数据库、准备测试数据、执行测试和清理测试数据。通过这些步骤,可以帮助读者掌握如何有效地评估MySQL数据库的性能。
|
2月前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
723 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
3月前
|
监控 安全 Linux
如何利用Kali Linux进行网站渗透测试:最常用工具详解
如何利用Kali Linux进行网站渗透测试:最常用工具详解
146 6
|
3月前
|
安全 Linux 测试技术
Kali Linux预装的自动化渗透测试工具
Kali Linux预装的自动化渗透测试工具
189 2
|
3月前
|
Web App开发 Linux Python
linux上安装selenium环境及测试
该文章提供了在Linux CentOS上安装Selenium环境、Chrome浏览器及Chromedriver的详细步骤,并演示了如何以无头模式进行测试。
283 0
|
4月前
|
NoSQL Linux Android开发
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
本文介绍了如何在QEMU中挂载虚拟分区、创建和编译简单的Linux内核模块,并在QEMU虚拟机中加载和测试这些内核模块,包括创建虚拟分区、编写内核模块代码、编译、部署以及在QEMU中的加载和测试过程。
239 0
内核实验(三):编写简单Linux内核模块,使用Qemu加载ko做测试
下一篇
DataWorks