磁盘读写速度标准

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. java入门与进阶-P1.5+P1.6

    输入 Scanner输入语句介绍 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Sca ...

  2. Android原生集成JPush SDK

    因为小黑是一名Unity开发,所以Android Studio上有写的不对的地方请大佬们指出,再集成的时候,有问题的或者疑问的也可以直接提出. 目录 使用版本: 接入JPush SDK 一:下载JPu ...

  3. P8_组件-view和scroll-view组件的基本用法

    组件 小程序中组件的分类 小程序中的组件也是由宿主环境提供的,开发者可以基于组件快速搭建出漂亮的页面结构.官方把小程序的组件分为了 9 大类,分别是: 视图容器 基础内容 表单组件 导航组件 媒体组件 ...

  4. UEFI引导安装UBUNUT

    1.引导方式一定要选UEFI,否则一些显卡驱动将不能安装 2.安装的时候,要在第四个界面,也就是选择覆盖安装还是保留双系统的那个界面,选择其他,一定要自己分区 3.分区: 4.一共5个重要分区: 1. ...

  5. 【Vue】计算属性 监听属性 组件通信 动态组件 插槽 vue-cli脚手架

    目录 昨日回顾 1 计算属性 插值语法+函数 使用计算属性 计算属性重写过滤案例 2 监听属性 3 组件介绍和定义 组件之间数据隔离 4 组件通信 父子通信之父传子 父子通信之子传父 ref属性 扩展 ...

  6. 关于vue keep-alive配合swiper的问题

    问题描述,首页优化使用keep-alive之后,从别的页面跳回来,swiper轮播不播放,查了好久资料,有的说要重新调用swiper的init方法进行初始化,等等,最终都没能解决问题,最终通过查看文档 ...

  7. openfoam UPstream类探索(二)

    前言 接上次的博文,本篇补全以下几个函数的介绍: Pstream::nProcs() Pstream::parRun() UPstream::exit() 简述几个常用的函数如下: Pstream:: ...

  8. 🤗 PEFT: 在低资源硬件上对十亿规模模型进行参数高效微调

    动机 基于 Transformers 架构的大型语言模型 (LLM),如 GPT.T5 和 BERT,已经在各种自然语言处理 (NLP) 任务中取得了最先进的结果.此外,还开始涉足其他领域,例如计算机 ...

  9. Django中models的字段

    常见的field类型: 1.AutoField 自增字段,它是一个根据ID自增长的IntegerField字段,通常不用自己设置,如果没有设置主键,django会自动添加它为主键字段 2.CharFi ...

  10. CGLB动态代理

    CGLB动态代理 一.CGLIB实现接口 public interface ProductInterface { void test(); } /** * 用来测试接口 */ private stat ...