最近在进行海量小文件相关的性能测试,执行性能测试前首先要确认设备的硬件配置是否满足要求(具体方法可以参考性能测试第一步——查看设备的硬件配置)。

除此之外还要确认是否存在网络瓶颈(iperf、iperf3)、磁盘读写瓶颈。所以今天来分享一下Linux下查看磁盘的读写性能的方法。

一、准备工作

首先要确认是否要组RAID进行性能测试,要组的话应该选什么级别的RAID。

关于RAID的介绍可以参考什么是RAID及创建RAID的方法

如果你想获得最好的读写性能,RAID0是很好的选择,理论上磁盘个数越多,RAID0的读写性能越好;如果既想保证读写性能,又想保证数据的安全性,一般可以选择RAID5。

备注:下面的例子是在RAID0的基础上测试的。

二、测试磁盘写性能

time dd if=/dev/zero bs=2M count=51200 of=/data1/100G.file

  • time命令 在dd命令启动时开始计时,直到dd命令结束
  • dd命令 Linux dd 命令用于读取、转换并输出数据。dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出
  • if=/dev/zero 输入文件名,即指定源文件。因为是测试写数据,所以这里选择/dev/zero这个伪文件
  • bs 设置写数据块的大小,如上图也就是每次写入2M数据
  • count 设置执行次数,反复执行51200次(每次2M,总共就是100G)
  • of=/data1/100G.file 输出文件名,即指定目标文件。/data1是我在RAID0上面挂载出来的一个目录,最终的100G数据会输出到100G.file这个文件里

命令执行完成之后可以看到这组RAID0的写速度为1.1GB/s,写入耗时101.453s。

三、测试磁盘读性能

time dd if=/data1/100G.file bs=2M count=51200 of=/dev/null

  • time命令 在dd命令启动时开始计时,直到dd命令结束
  • dd命令 Linux dd 命令用于读取、转换并输出数据。dd 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出
  • if=/data1/100G.file 输入文件名,即指定源文件。因为是测试读速度,所以需要选择一个已有数据的文件(我这里选择了第二节写入的100G.file)
  • bs 设置读数据块的大小,如上图也就是每次写入2M数据
  • count 设置执行次数,反复执行51200次(每次读2M,总共就是100G)
  • of=/dev/null 输出文件名,即指定目标文件。这里选择/dev/null这个空设备。

命令执行完成之后可以看到这组RAID0的读速度为3.6GB/s,写入耗时29.9868s。

至于为什么测出来的读速度比写速度更快,我的理解是和去电影院看电影一样,入场的时候要先找位置才能坐下,所以入场的速度总比散场的时候慢。这么一想,原来事物之间都是相同的呀~

Linux下dd查看磁盘的读写性能相关推荐

  1. linux查看设备内存代码,Linux下内存查看命令(示例代码)

    在Linux下面,我们常用top命令来查看系统进程,top也能显示系统内存.我们常用的Linux下查看内容的专用工具是free命令. Linux下内存查看命令free详解: 在Linux下查看内存我们 ...

  2. linux下dd命令详解

    linux下dd命令详解    名称: dd 使用权限: 所有使用者dd 这个指令在 manual 里的定义是 convert and copy a file 使用方式: dd [option] 如果 ...

  3. linux 打开php服务器文件夹,Linux下如何查看文件和文件夹大小

    <Linux下如何查看文件和文件夹大小>要点: 本文介绍了Linux下如何查看文件和文件夹大小,希望对您有用.如果有疑问,可以联系我们. 相关主题:服务器配置 1 Linux下查看文件和文 ...

  4. Linux下,查看USB设备信息

    Linux下,查看USB设备信息 首先需要将usbfs挂载一下,然后才能查看. $ mount -t usbfs none /proc/bus/usb $ cat  /proc/bus/usb/dev ...

  5. 查linux服务器CPU多少C,在linux 下怎么查看服务器的cpu和内存的硬件信息

    在linux 下怎么查看服务器的cpu和内存的硬件信息 ------------------------------------------------ fzljnqkt 采纳率:44% 11级 20 ...

  6. linux下如何查看BIOS版本,在Ubuntu下查看BIOS资料

    查了很多资料,关于linux下的查看bios的几乎没有,于是只能到Ubuntu官方查阅英文资料,累死老夫.终于在一篇教你刷新BIOS的帖子中看到资料.有许多厂商现在包括公用事业,都提供协助本地Linu ...

  7. 查看linux每个进程占用内存多少,Linux下如何查看哪个进程占用内存多?

    1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者 ...

  8. Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号

    1.uname -a   (Linux查看版本当前操作系统内核信息) 2.cat /proc/version (Linux查看当前操作系统版本信息) 3.cat /etc/issue  或cat /e ...

  9. linux下如何查看某个软件 是否安装??? 安装路径在哪???

    <1>.在linux下如何判断是否已经安装某个软件? 我的系统是red hat 我用命令rpm查是否安装了某个软件(例如: matlab 与 fluent ),得到了如下的结果: 我用rp ...

最新文章

  1. 训练、标注成本节省90%!华为云自动化AI开发平台ModelArts 3.0发布,从训练数据到模型落地一站式打通...
  2. ks检验正态分布结果_统计学里的数据正态性检验
  3. Linux内核调试方法总结之sysrq
  4. .net odbc连接mysql数据库,下载安装MySQL数据库ODBC驱动和配置MySQL ODBC数据源
  5. Oracle 11g 内存结构
  6. 前端学习(1778):前端调试之cookie原理和查看
  7. Openstack入门篇(十一)之neutron服务(控制节点)的部署与测试
  8. tomcat启动报错APR问题
  9. wordpress-黑格网址blackgrid导航主题模板
  10. 在浏览器中运行java applet
  11. 字节跳动(今日头条),战斗力为何如此凶猛?| 畅言
  12. python微信图标制作_Python十分钟制作属于你自己的个性logo
  13. matlab仿真动力学方程的几种方法,总结,以范德波振子为例
  14. 光电信息科学与工程学c语言吗,光电信息科学与工程是热门吗?本文讲给你讲个透彻...
  15. MySQL大批量造数据
  16. 河北专升本经验总结分享
  17. 2022年mvnrepository跳过人机验证
  18. 利用计算机技术全面规划供应,‍ ‍ 利用计算机及网络技术,全面规划供应链中的商流、物流、信息流、资金流等,并进行计划、组织、协调与控制。 ‍ ‍...
  19. pip不是内部 pycharm_解决'pip' 不是内部或外部命令,也不是可运行的程序或批处理文件的问题...
  20. 阿里P8整理总结,入职大厂必备Java核心知识(附加面试题

热门文章

  1. layui option 动态添加_layuiselect如何动态添加option
  2. 漫谈云计算与OpenStack的前世今生
  3. 压测学习总结(2)——Jmeter 基本知识入门
  4. Docker学习总结(14)——从代码到上线, 云端Docker化持续交付实践
  5. Java基础学习总结(55)——java8新特性:stream
  6. android ar人脸贴图,ARCore与ARKit实现人脸贴纸、更换材质等动画效果
  7. 高级网络配置:Bond网络接口、Team网络接口和网桥
  8. 微服务主见传递ID还是json_Feign实现微服务间文件传递
  9. CPython 标准库源码分析 collections.Counter
  10. Java虚拟机自动内存管理