运维工作,经常要测试服务器硬件性能,以此来判断是否存在性能瓶颈。

下面介绍在linux上测试磁盘IO速度的工具:

1、hdparm

CentOS中,安装的两种方法:

1) yum安装。

# yum install hdparm

2)源码包编译安装

# wget http://ncu.dl.sourceforge.net/project/hdparm/hdparm/hdparm-9.48.tar.gz
# tar zxvf hdparm-9.48.tar.gz
# cd hdparm-9.48
# make && make install

hdparm仅用于Linux系统。现在主要用来测试SSD固态硬盘读取速度。

# hdparm -Tt /dev/sdb

/dev/sdb:
Timing cached reads: 17682 MB in 2.00 seconds = 8855.82 MB/sec
Timing buffered disk reads: 604 MB in 3.01 seconds = 200.98 MB/sec

解释:

2秒钟读取了17682 MB的缓存,读取速度约合8855.82 MB/sec;
在3.01秒中读取了604 MB磁盘数据(物理读),读取速度约合200.98 MB/sec

/dev/sdb为SSD固态硬盘。

在我的服务器上,是这样安装的:拆掉光驱位,通过[SATA 22P母 转 SLIMLINE SATA 13P公]转接头连接光驱位的线路,直接连接主板,而不走阵列卡。因为通过阵列卡连接SSD固态硬盘,会影响SSD的性能。

而受限于SATA2接口的读取速度,如果SSD的读取速度在 200MB/sec 以上,则是正常的,说明SSD已经正常工作了。

固态硬盘,在SATA .0接口上平均读取速度在225MB/S,平均写入速度在71MB/S。在SATA 3.0接口上,平均读取速度骤然提升至311MB/S。
在随机文件存取测试中,采用SATA .0接口的成绩依然要好于采用SATA .0接口的成绩。尤其在写入4KB文件方面,SATA .0接口平均速度在50MB/S,而采用SATA .0后提升至70MB/S。

2、dd

dd 命令并不是一个专业的测试磁盘工具,它没考虑到缓存和物理读的区分,测试的结果仅作参考,不算权威。但是它通用于所有的Linux系统中。

两个特殊设备:(不产生IO,就能单独测试写速度和读速度)
/dev/null 伪设备,回收站.写该文件不会产生IO
/dev/zero 伪设备,会产生空字符流,对它不会产生IO

(1)测试磁盘纯写速度

# time dd if=/dev/zero of=/data/test.dbf bs=8k count= oflag=direct
# 加上 oflag=direct,测到的才是真实的磁盘IO速度

解释:从/dev/zero设备中读入数据,写出到/data/test.dbf文件中。bs=8k,每次写的大小,即一个块的大小。count=300000,一共写30000块。

(2)测试磁盘纯读速度

# time dd if=/data/test.dbf of=/dev/null bs=8k count=

解释:从/data/test.dbf文件中读入数据,写出到/dev/null 设备中。bs=8k,每次读的大小,即一个块的大小。count=300000,一共读30000块。

(3)测试磁盘读写速度

# time dd if=/data/test_r.dbf of=/data/test_w.dbf bs=8k count=

备注:要想测试准确,测试的数据量最好大于系统内存(避免内存干扰),最好测试5次以上取平均值。

3、sysbench

https://www.ustack.com/blog/how-benchmark-ebs/#Linux

4、fio

http://blog.chinaunix.net/uid-8116903-id-3914246.html

linux上测试磁盘IO速度的更多相关文章

  1. windows上测试磁盘io性能

    一.问题由来 前两天搭建一套演示环境,同样的java war包,放在我们这边服务器好好的,放在那边就运行缓慢. 后来把日志改成异步之后就好了. 后边找了个程序测了下io性能,竟然差了7,8倍. 二.软 ...

  2. linux下测试磁盘的读写IO速度

    有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策. 下面是两种测试方法:(1)使用hd ...

  3. linux下测试磁盘的读写IO速度-简易方法

    linux下测试磁盘的读写IO速度-简易方法 参考资料:https://blog.csdn.net/zqtsx/article/details/25487185 一:使用hdparm命令 这是一个是用 ...

  4. Linux如何查看与测试磁盘IO性能

    1. 查看磁盘 IO 性能 1.1 top 命令 top 命令通过查看 CPU 的 wa% 值来判断当前磁盘 IO 性能,如果这个数值过大,很可能是磁盘 IO 太高了,当然也可能是其他原因,例如网络 ...

  5. cacti监控linux和windows磁盘IO

    cacti监控linux和windows磁盘IO 标签:cacti linux磁盘IO windows磁盘IO 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则 ...

  6. linux下测试磁盘的读写IO速度【转】

    Reference1:http://server.chinabyte.com/495/12361995.shtmlReference2:https://www.deleak.com/blog/2011 ...

  7. Linux 下测试磁盘读写 I/O 速度的方法汇总

    在分布式异构存储系统中,我们经常会需要测量获取不同节点中硬盘/磁盘的读写 I/O 速度,下面是 Linux 系统下一些常用测试方法(之后不定期更新): 1.使用 hdparm 命令这是一个是用来获取A ...

  8. linux 下查看磁盘IO状态

    from:脚本之家 linux 查看磁盘IO状态操作 作者:佚名 字体:[增加 减小] 来源:互联网 时间:11-15 15:13:44我要评论 Linux系统出现了性能问题,一般我们可以通过top. ...

  9. iometer测试磁盘IO性能

    of Outstanding I/Os per target – 被选中worker的每个磁盘一次所允许的未处理的异步I/O的数量.模拟测试多个应用向 IO 请求读写,默认是 1.通常不用这个参数,除 ...

随机推荐

  1. Java 多线程(二)synchronized和volatile

    脏读: 脏读指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据.总的来说取到的数据是其实是被更改过的,但还没有保存到数 ...

  2. ZBrush创建人体模型-ZBrush中ZSphere的基本使用

    本教程我们将学习ZSphere(Z球)在ZBrush®中的基本使用情况,了解它在个人创作过程中发挥着怎样的作用.作为ZBrush中的独特功能之一,ZSphere能够让用户通过清晰的拓扑结构创建基础模型 ...

  3. 《图解HTTP》摘要

    网络基础TCP/IP 使用Cookie进行状态管理 HTTP首部 确保Web安全的HTTPS 1.网络基础TCP/IP 2.使用Cookie进行状态管理:HTTP是无状态协议. 3.HTTP首部 HT ...

  4. 动态生成的dom元素绑定事件

    要求:要绑定到父元素上$(".school_Inlists").on("click",".chose_Inbtn",function(){ ...

  5. node工具是是什么东西

    Node到底是个啥? Node是一个服务器端JavaScript解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知道,不过确实不浅 最近写 ...

  6. zabbix_get 获取agnet端mysql数据失败

    问题 在使用zabbix_get获取agent端的mysql数据时,总是报错,ERROR 2002 (HY000): Can't connect to local MySQL server throu ...

  7. linux日常指令、概念

    指令 cal 查看日历date 查看日期bc 计算器ls 查看文件ls -l 查看具体信息(权限,时间等)ls -a 查看所有的文件包括隐藏文件ll 作用同上d* 开头的都是文件夹,- 开头的都是文件 ...

  8. 紫书 例题7-14 UVa 1602(搜索+STL+打表)

    这道题想了很久不知道怎么设置状态,怎么拓展,怎么判重, 最后看了这哥们的博客 终于明白了. https://blog.csdn.net/u014800748/article/details/47400 ...

  9. Ubuntu下安装curl和corn

    Ubuntu下安装curl sudo apt install curl Ubuntu下安装cron apt-get install cron

  10. 数据结构实现(四)二叉查找树java实现

    转载 http://www.cnblogs.com/CherishFX/p/4625382.html 二叉查找树的定义: 二叉查找树或者是一颗空树,或者是一颗具有以下特性的非空二叉树: 1. 若左子树 ...