首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CPU、内存、磁盘IO性能如何压测?

CPU、内存、磁盘IO性能如何压测?

作者头像
Linux运维技术之路
发布于 2022-06-07 00:34:12
发布于 2022-06-07 00:34:12
1.8K00
代码可运行
举报
运行总次数:0
代码可运行

介绍

  • SysBench 是一款开源的、跨平台的、模块化的、多线程的性能测试工具, 可以执行 CPU/内存/线程/IO/数据库 等方面的性能测试. 用于评估操作系统的性能参数.
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* oltp_*.lua: a collection of OLTP-like database benchmarks
* fileio: a filesystem-level benchmark
* cpu: a simple CPU benchmark
* memory: a memory access benchmark
* threads: a thread-based scheduler benchmark
* mutex: a POSIX mutex benchmark
  • 主要包含如下几种测试

安装 sysbench

  • yum -y install sysbench

一 、CPU性能测试 (cpu测试主要是进行素数的加法运算)

  • 帮助命令 sysbench cpu help
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sysbench 1.0.17 (using system LuaJIT 2.0.4)

cpu options:
  --cpu-max-prime=N upper limit for primes generator [10000] 最大质数发生器数量。默认是10000
  • 测试命令 sysbench cpu --cpu-max-prime=20000 --threads=2 run

二、内存分配及传输速度

  • 帮助命令 sysbench memory help
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sysbench 1.0.17 (using system LuaJIT 2.0.4)

memory options:
  --memory-block-size=SIZE    size of memory block for test [1K]
  --memory-total-size=SIZE    total size of data to transfer [100G]
  --memory-scope=STRING       memory access scope {global,local} [global]
  --memory-hugetlb[=on|off]   allocate memory from HugeTLB pool [off]
  --memory-oper=STRING        type of memory operations {read, write, none} [write]
  --memory-access-mode=STRING memory access mode {seq,rnd} [seq]
  • 测试命令 sysbench memory --memory-block-size=8k --memory-total-size=2G run

三、磁盘IO性能测试

  • 帮助命令 sysbench fileio help
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
fileio options:
  --file-num=N                  number of files to create [128]
  --file-block-size=N           block size to use in all IO operations [16384]
  --file-total-size=SIZE        total size of files to create [2G]
  --file-test-mode=STRING       test mode {seqwr, seqrewr, seqrd, rndrd, rndwr, rndrw}
  --file-io-mode=STRING         file operations mode {sync,async,mmap} [sync]
  --file-async-backlog=N        number of asynchronous operatons to queue per thread [128]
  --file-extra-flags=[LIST,...] list of additional flags to use to open files {sync,dsync,direct} []
  --file-fsync-freq=N           do fsync() after this number of requests (0 - don't use fsync()) [100]
  --file-fsync-all[=on|off]     do fsync() after each write operation [off]
  --file-fsync-end[=on|off]     do fsync() at the end of test [on]
  --file-fsync-mode=STRING      which method to use for synchronization {fsync, fdatasync} [fsync]
  --file-merged-requests=N      merge at most this number of IO requests if possible (0 - don't merge) [0]
  --file-rw-ratio=N             reads/writes ratio for combined test [1.5]
  • 测试命令
  • 1、prepare阶段,生成需要的测试文件,完成后会在当前目录下生成很多小文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sysbench  fileio --threads=2 --file-total-size=1G --file-test-mode=rndrw prepare
  • 2、run阶段
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sysbench  fileio --threads=2 --file-total-size=1G --file-test-mode=rndrw run
  • 3、清理测试时生成的文件
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sysbench  fileio --threads=2 --file-total-size=1G --file-test-mode=rndrw cleanup

四、 mutex性能测试

  • 帮助命令 sysbench mutex help
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mutex options:
  --mutex-num=N   total size of mutex array [4096] 数组互斥的总大小
  --mutex-locks=N number of mutex locks to do per thread [50000]  每个线程互斥锁的数量
  --mutex-loops=N number of empty loops to do outside mutex lock [10000] 内部互斥锁的空循环数量
  • 命令测试 sysbench mutex --threads=2 --mutex-num=4096 --mutex-locks=50000 --mutex-loops=10000 run

五、POSXI线程性能

  • 帮助测试 sysbench threads help
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
threads options:
  --thread-yields=N number of yields to do per request [1000]  每个请求产生多少个线程。
  --thread-locks=N  number of locks per thread [8] 每个线程的锁的数量
  • 命令测试 sysbench threads --threads=2 --thread-yields=100 --thread-locks=4 run

六、数据库性能(OLTP基准测试)

待定后续~

  • 参考官方文档:https://github.com/akopytov/sysbench
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Linux运维技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Linux 性能测试工具 sysbench 的安装与简单使用
sysbench是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。 sysbench 支持以下几种测试模式 :
耕耘实录
2019/07/04
7.6K0
树莓派64位系统Debian 9先行测评:性能最高提升30倍
采用64位处理器的树莓派3B,虽然具有64位硬件,但是系统还没有跟上节奏。官方尚未正式发布64位Raspbian,近期有团队移植了Debian 9 arm64到树莓派3B,将“装死”一年多的树莓派3B的性能完全释放出来,测试跑下来发现CPU性能最高比32位系统高30倍!
Debian中国
2018/12/20
1.6K0
sysbench入门
sysbench是一款多线程压力测试工具,它可以根据影响数据库性能的各种因素来评估系统性能(也就是看看运行数据库的机器性能如何)。下面直接入题,给出sysbench的入门步骤,现在sysbench已被托管到github上,这里给出使用已编译版本的步骤,源码编译可以参考点击打开链接:
johnhuster的分享
2022/03/28
4620
作为DBA,你不得不掌握的压测工具
mysqlslap是MySQL自带的一个用于实现负载性能测试和压力测试的工具。它可以模拟多个客户端对数据库进行施压,并生成报告来了解数据库的性能状况。
MySQL数据库技术栈
2020/09/08
6590
作为DBA,你不得不掌握的压测工具
sysbench压测小记(r11笔记第99天)
对于很多线上业务而言,如果有新服务器,新的环境,新的业务,到底资源和预期的承载压力是否匹配,这个得用数据说话,或是通过严谨的论证来阐述。 比如一台新的服务器,一般都需要经过压力测试,我们也叫拷机测试。一般都会从多个维度来进行加压(比如CPU,内存,IO等等),看看服务器是否依旧坚挺,虽然这一点上如果产生了懈怠或者懒惰还是会被轻视,但是从身边的例子来看,还是会测试出一些问题来,如果发现了问题,就避免了后续的很多被动。 sysbench就是这么一个工具,功能非常全面。是一个标准模块化,多线程的
jeanron100
2018/03/21
2.5K0
sysbench压测小记(r11笔记第99天)
MySQL 之压力测试工具
一、MySQL自带的压力测试工具——Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较。mysqlslap为mysql性能优化前后提供了直观的验证依据,系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题。 1、更改其默认的最大连接数 在对MySQL进行压力测试之前,需要更改其默认的最大连接数,如下:
小手冰凉
2020/05/27
4.2K0
数据库性能测试:sysbench使用方法详解
官方站点:https://github.com/akopytov/sysbench/
星哥玩云
2022/08/16
4.4K0
MySQL基准测试工具-sysbench安装测试
环境:CentOS6.5,MySQL5.7.22 1.下载 sysbench下载地址 2.安装
星哥玩云
2022/08/16
2.1K0
OrangePi_Kunpeng_Pro开发板测验——性能巨人
在开始测试之前,请确保您的香橙派 Kunpeng Pro 已正确启动,并通过 SSH 连接到您的开发板。
屿小夏
2024/05/30
2220
OrangePi_Kunpeng_Pro开发板测验——性能巨人
【赵渝强老师】MySQL的基准测试与sysbench
对数据库进行基准测试,以掌握数据库的性能情况是非常必要的。因此对数据库的性能指标进行定量的、可复现的、可对比的测试就显得非常的重要。
赵渝强老师
2024/11/11
1650
【赵渝强老师】MySQL的基准测试与sysbench
Sysbench常用命令
1 Sysbench 安装 requirements yum -y install make automake libtool pkgconfig libaio-devel # For MySQL support, replace with mysql-devel on RHEL/CentOS 5 yum -y install mariadb-devel openssl-devel mysql-devel # For PostgreSQL support yum -y install postgr
mingjie
2022/05/12
7930
Sysbench常用命令
sysbench0.5笔记
下载地址:https://github.com/akopytov/sysbench
保持热爱奔赴山海
2019/09/18
1.5K0
sysbench0.5笔记
你的数据库服务器IO调度算法不对,难怪那么慢
之前的推文已经分享了数据库优化的方法,链接为https://mp.weixin.qq.com/s/6Atzk9UKPJRxxAs0nsKBXg 。其中操作系统部分介绍了IO调度算法的优化,本文将通过压力测试的方式来对比不同的调度算法下磁盘IO的表现。
俊才
2020/08/25
2.5K0
TIDB 数据库集群部署
TiDB 是 PingCAP 公司设计的开源分布式 HTAP (Hybrid Transactional and Analytical Processing) 数据库,结合了传统的 RDBMS 和 NoSQL 的最佳特性。TiDB 兼容 MySQL,支持无限的水平扩展,具备强一致性和高可用性。TiDB 的目标是为 OLTP (Online Transactional Processing) 和 OLAP (Online Analytical Processing) 场景提供一站式的解决方案。
星哥玩云
2022/08/17
1.5K0
「最佳实践」Sysbench:开发者必备技能
SysBench 是一个非常强大的开源性能测试工具,广泛应用于数据库系统(特别是 MySQL)的性能测试。它基于 LuaJIT,这使得它不仅拥有 Lua 的灵活性,还具有出色的执行性能。由于 LuaJIT 的即时编译能力,SysBench 能够将 Lua 脚本直接编译为机器码,从而实现高效的执行,这对于性能测试工具来说尤为重要。
不惑
2024/08/12
1.1K0
「最佳实践」Sysbench:开发者必备技能
MySQL基准测试 转
基准测试是  指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。例如,对计算机CPU进行浮点运算、数据访问的带宽和延迟等指标的基准测试,可以使用户清楚地了解每一款CPU的运算性能及作业吞吐能力是否满足应用程序的要求;
wuweixiang
2018/08/14
2.3K0
MySQL基准测试
                                                                            转
关于MySQL的基准测试
当我们对数据库进行优化后,只有进行测量系统性能才能知道优化是否有效,这种测量的方式就是基准测试。基准测试的定义如下:
端碗吹水
2020/09/23
7930
如何使用 Sysbench 进行 Linux 性能测试?
完整的报表统计会显示在终端上,但这里重要的是total time会显示在General statistics下,用于测试CPU性能。
用户8989785
2021/09/13
2.3K0
Daily Script4
[drop_caches]#drop cachesyncecho 3 > /proc/sys/vm/drop_caches----[iotop]#记录io日志iotop -ot > iotop.log----[gcc]gcc -o t1 -g test.c ----[badblocks]#坏块检查badblocks -s -v -o /root/badblocks.log /dev/sda----[vim]:set hls #打开高亮:set nohls #关闭高亮----[sysbench]#基准测试sy
franket
2022/07/09
2040
LINUX IOWAIT 是怎么回事,和数据库性能有关吗? (翻译)
我见过很多Linux性能工程师将CPU使用率中的“IOWait”部分视为指示系统是否受到I/O限制的东西。在本博客文章中,我将解释为什么这种方法是不可靠的,并介绍你可以使用的更好的指标。
AustinDatabases
2023/09/06
3330
LINUX  IOWAIT  是怎么回事,和数据库性能有关吗?  (翻译)
相关推荐
Linux 性能测试工具 sysbench 的安装与简单使用
更多 >
交个朋友
加入腾讯云官网粉丝站
蹲全网底价单品 享第一手活动信息
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档