磁盘读写速度标准

1、机械硬盘读写速度平均60---80M每秒。

2、固态硬盘不同品牌型号之间,平均大约在150---300M每秒。

3、5400转的笔记本硬盘:50-90MB每秒。

4、7200转的台式机硬盘:90-190MB每秒。

5、固态硬盘的读写速度可以达到500MB/s。

磁盘读写能力(dd)

测试磁盘写能力

time dd if=/dev/zero of=/testw.dbf bs=4k count=100000

因为/dev//zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。

命令结尾添加oflag=direct将跳过内存缓存,添加oflag=sync将跳过hdd缓存。

测试磁盘读能力

time dd if=/dev/sdb of=/dev/null bs=4k

因为/dev/sdb是一个物理分区,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在/dev/sdb上,也相当于测试磁盘的读能力。(Ctrl+c终止测试)

测试纯写入性能

dd if=/dev/zero of=test bs=8k count=10000 oflag=direct

测试纯读取性能

dd if=test of=/dev/null bs=8k count=10000 iflag=direct 

磁盘读写能力(iostat)

1,硬盘读写性能,

# 查看TPS和吞吐量信息
iostat -d -k 1 10

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

sda              14.54       417.21       368.06 15719357562 13867444535
dm-0            104.60       415.64       366.87 15660312829 13822621684
dm-1              0.69         1.57         1.19   59041280   44822840
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda                  0.00         0.00         0.00                   0          0
dm-0               0.00         0.00         0.00                   0          0
dm-1               0.00         0.00         0.00                   0          0
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda                 0.00         0.00         0.00                     0          0
dm-0              0.00         0.00         0.00                     0          0
dm-1              0.00         0.00         0.00                     0          0
Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda                7.14         0.00       208.16                   0        204
dm-0             52.04         0.00       208.16                 0        204
dm-1              0.00         0.00         0.00                     0          0
 

-d:显示某块具体硬盘,这里没有给出硬盘路径就是默认全部了
-k:以KB为单位显示
1:统计间隔为1秒
10:共统计10次的
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。
kB_read/s:每秒从设备(drive expressed)读取的数据量;kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;kB_read:读取的总数据量;kB_wrtn:写入 的总数量数据量;这些单位都为Kilobytes。
一开始的数值很大是因为显示的是累计读写量。
 
2,iostat -x 参数,查看设备使用率(%util)、响应时间(await)

iostat -d -k -x 1 10

Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda               4.87    85.88  8.41  6.14   417.21   368.06   107.98     0.02    8.92   2.73   3.97
dm-0              0.00     0.00 12.89 91.72   415.64   366.87    14.96     0.06    1.70   0.38   3.95
dm-1              0.00     0.00  0.39  0.30     1.57     1.19     8.00     0.02   35.25   1.45   0.10

rrqm/s:每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的 时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge);wrqm/s:每秒这个 设备相关的写入请求有多少被Merge了。
r/s:每秒响应的读取请求数;w/s:每秒响应的写入请求数;rkB/s:每秒读取的数据量;wkB/s:每秒写入的数据量
await:每一个IO请求的处理的平均时间(单位是微秒)。这里可以理解为IO的响应时 间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。
%util:在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该 设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因 为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。

3,iostat -c 参数,查看CPU状态信息

iostat -c 1 10

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
1.28     0.00      0.43           0.84     0.00         97.45
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
0.77     0.00      0.26           0.00     0.00         98.98
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
13.71     0.00     2.28            0.00     0.00         84.01

4,vmstat命令,查看内存使用情况

vmstat 1 10

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b      swpd   free      buff         cache   si   so    bi    bo   in   cs us sy id wa st
 0  0     96 2934580 149988 274084    0    0   104    92    0    0  1  0 97  1  0
 0  0     96 2934580 149988 274084    0    0     0     0 1088  252  0  0 100  0  0
 0  0     96 2934468 149988 274200    0    0   148     0 1071  253  0  0 99  0  0
 0  0     96 2934468 149988 274200    0    0     0     0 1069  283  0  0 100  0  0
 2  0     96 2926656 150012 284304    0    0     0   332 1166  381  7  1 92  0  0
 0  0     96 2935088 150032 274084    0    0     0 26560 1284  818 41  5 49  6  0
 1  0     96 2933872 150096 274276    0    0   244     0 1226  887 36  4 59  0  0
 0  0     96 2933872 150120 274692    0    0     0     0 1244 1646 15  1 84  0  0
 0  0     96 2933756 150156 275040    0    0     0     0 1198  705 13  3 84  0  0
 0  0     96 2933756 150156 275040    0    0     0     0 1097  328  0  0 100  0  0

Procs 
r:在运行队列中等待的进程数 
b:在等待io的进程数

Memory 
swpd: 虚拟内存使用情况,单位:KB
free: 空闲的内存,单位KB
buff: 被用来做为缓存的内存数,单位:KB

Swap 
si: 从磁盘交换到内存的交换页数量,单位:KB/秒
so: 从内存交换到磁盘的交换页数量,单位:KB/秒

IO 
bi: 发送到块设备的块数,单位:块/秒
bo: 从块设备接收到的块数,单位:块/秒

System 
in: 每秒的中断数,包括时钟中断
cs: 每秒的环境(上下文)切换次数

CPU 
按 CPU 的总使用百分比来显示 
us: CPU 使用时间
sy: CPU 系统使用时间
id: 闲置时间
r、b列一般为0,表示没有等待进程,如果不为0表示系统性能有问题
si、so 两 列,表示内存交换的频繁程度,如果数值长期很大,表示内存不够,要和硬盘交换数据,也可以表示要读写的数据每次都不一样
bi、bo 两列,表示I/O输入输出很频繁

磁盘坏道检测

1、通过fdisk 查看显示所有磁盘或闪存的信息

fdisk -l /dev/sd*

(2)使用 badlocks检查 linux 硬盘上的坏道/坏块

# -s : 依序一个一个地执行 fsck 的指令来检查
# -v : 详细显示模式
badblocks -s -v /dev/sdb1 > badsectors.txt

额外扩展

挂载磁盘:https://blog.csdn.net/jiecxy/article/details/58197387

 

linux磁盘读写速度测试的更多相关文章

  1. dd命令测试linux磁盘读写速度

    1.先熟悉两个特殊的设备:    (1)/dev/null:回收站.无底洞.    (2)/dev/zero:产生字符. 2.测试磁盘写能力    time dd if=/dev/zero of=/t ...

  2. linux 磁盘IO测试工具:FIO (同时简要介绍dd工具测试)

    FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证.磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写两大类. 目前主流的第三方IO测试工具有fio.iomete ...

  3. [转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具

    linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...

  4. linux使用FIO测试磁盘的iops 【转载】

     linux使用FIO测试磁盘的iops 2013-09-23 10:59:21 分类: LINUX FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括 ...

  5. 正确用DD测试磁盘读写速度

    转自:http://blogread.cn/it/article/6479?f=wb 问: 以下几种方式测试磁盘读写速度有什么区别? dd bs=1M count=128 if=/dev/zero o ...

  6. linux磁盘管理与分区 转载

    原文:http://zhengjianglong.leanote.com/post/linux%E7%A3%81%E7%9B%98%E5%88%86%E5%8C%BA 一.基础知识 一块磁盘可以分为多 ...

  7. (转)Linux 磁盘IO性能测试

    Linux 如何测试 IO 性能(磁盘读写速度) 这几天做MySQL性能测试,偌大一个公司,找几台性能测试机器都很纠结,终于协调到两台,IO的性能如何还不知道.数据库属于IO密集型的应用,所以还是先评 ...

  8. Linux磁盘分区与格式化

    磁盘分区格式说明 linux分区不同于windows linux下分区标示: 例如:hda1 hd这两个字母表示分区所在的设备类型,hd标示IDE类型硬盘,sd表示SCSI类型硬盘 第三字母a标示硬盘 ...

  9. Linux磁盘配额实验

    1.实现磁盘限额的条件 *需要Linux内核支持 *安装quota软件包2.Linux磁盘限额的特点 作用范围:针对指定 文件系统(分区) 限制对象:普通用户帐号.组帐号 限制类型:磁盘容量(默认单位 ...

  10. linux磁盘管理系列-软RAID的实现

    1 什么是RAID RAID全称是独立磁盘冗余阵列(Redundant Array of Independent Disks),基本思想是把多个磁盘组合起来,组合一个磁盘阵列组,使得性能大幅提高. R ...

随机推荐

  1. 中断ISR技术架构

    架构一 ISR采用立即响应思路,技术架构如下图: 优点:简单. 缺点:处理性能不高,中断优先级规划性不高(仅仅区分CPU的32个优先级别,针对不同类型中断优先级不支持). 选型:对于硬件支持多级中断的 ...

  2. Docker容器使用 (入门到精通)

    Docker容器 CentOS安装Docker Docker 分为 CE 和 EE 两大版本.CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月. D ...

  3. 11月17日内容总结——黏包现象、struct模块和解决黏包问题的流程、UDP协议、并发编程理论、多道程序设计技术及进程理论

    目录 一.黏包现象 什么是黏包 黏包现象产生的原因 二.struct模块及解决黏包问题的流程 struct模块 解决黏包问题初级版本 解决过程中遇到的问题 解决黏包问题终极解决方案 三.粘包代码实战 ...

  4. supervisor管理java进程

    安装 yum install supervisor 设置开机启动 systemctl enable supervisord 启动supervisord systemctl start supervis ...

  5. 《自定义工作流配置,springboot集成activiti,前端vue,完整版审批单据》

    前言 activiti工作流引擎项目,企业erp.oa.hr.crm等企事业办公系统轻松落地,一套完整并且实际运用在多套项目中的案例,满足日常业务流程审批需求. 一.项目形式 springboot+v ...

  6. T02 ExtractSubject 项目开发总结

    公纵号: 皮豪 博客:www.kbug.cn 邮箱:pphboy@qq.com 前言 看来已经是一种习惯,每次寒假都会开发一个项目出来.本次项目使用的是Qt GUI,语言是C++.不得不说,在业务上写 ...

  7. mysql16 sql优化-order by-GROUP BY

    1.简要说明   在sql中常常用到order by,排序对于sql的查询速度有较大的的影响.mysql支持两种排序方式,FileSort和Index,Index效率高,它指MySQL扫描索引本身完成 ...

  8. 【OpenWrt】N1刷机过程及旁路由设置(通用)

    最近买了个N1盒子,从源系统刷到OpenWrt,总结一下整体过程,大部分都来源于网络教程和自己实践,如有错误欢迎指出! N1盒子刷机 固件准备 最著名的应该是F大的吧,原贴地址:[2023-2-14] ...

  9. yaml文件详解

    一.yaml文件详解 前言 Kubernetes 支持 YAML 和 JSON 格式管理资源对象JSON 格式:主要用于 api 接口之间消息的传递YAML 格式:用于配置和管理,YAML 是一种简洁 ...

  10. Hugging Face 每周速递: 扩散模型课程完成中文翻译,有个据说可以教 ChatGPT 看图的模型开源了

    每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...