Linux磁盘IO查看
一、磁盘IO
实时IO性能查看:
1、用top命令查看
0.0% wa 等待输入输出的CPU时间百分比
0.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多
2、sar 命令
sar -d -p 1 2 |
---|
其中, “-d”参数代表查看磁盘性能,“-p”参数代表将 dev 设备按照 sda,sdb……名称显示,“1”代表每隔1s采取一次数值,“2”代表总共采取2次数值
-
await:平均每次设备 I/O 操作的等待时间(以毫秒为单位)
-
svctm:平均每次设备 I/O 操作的服务时间(以毫秒为单位)
-
%util:一秒中有百分之几的时间用于 I/O 操作
对于磁盘 IO 性能,一般有如下评判标准:
正常情况下 svctm 应该是小于 await 值的,而 svctm 的大小和磁盘性能有关,CPU 、内存的负荷也会对 svctm 值造成影响,过多的请求也会间接的导致 svctm 值的增加。
await 值的大小一般取决与 svctm 的值和 I/O 队列长度以 及I/O 请求模式,如果 svctm 的值与 await 很接近,表示几乎没有 I/O 等待,磁盘性能很好,如果 await 的值远高于 svctm 的值,则表示 I/O 队列等待太长,系统上运行的应用程序将变慢,此时可以通过更换更快的硬盘来解决问题。
%util 项的值也是衡量磁盘 I/O 的一个重要指标,如果 %util 接近 100% ,表示磁盘产生的 I/O 请求太多,I/O 系统已经满负荷的在工作,该磁盘可能存在瓶颈。长期下去,势必影响系统的性能,可以通过优化程序或者通过更换更高、更快的磁盘来解决此问题。
磁盘IO压测:
3、dd命令,用于磁盘IO压测
测试存写入能力
dd if=/dev/zero of=test.file bs=64k count=10000 oflag=direct |
---|
-
/dev/zero 伪设备,会产生空字符流,对它不会产生 IO 。
-
if 参数用来指定 dd 命令读取的文件。
-
of 参数用来指定 dd 命令写入的文件。
-
bs 参数代表每次写入的块的大小。
-
count 参数用来指定写入的块的个数。
-
offlag=direc 参数测试 IO 时必须指定,代表直接写如磁盘,不使用 cache 。
因为/dev/zero是一个伪设备,它只产生空字符流,对它不会产生IO,所以,IO都会集中在of文件中,of文件只用于写,所以这个命令相当于测试磁盘的写能力。命令结尾添加oflag=direct将跳过内存缓存,添加oflag=sync将跳过hdd缓存。
测试存读取能力
dd if=test.file of=/dev/null iflag=direct |
---|
因为test.file是一个文件,对它的读取会产生IO,/dev/null是伪设备,相当于黑洞,of到该设备不会产生IO,所以,这个命令的IO只发生在test.file上,也相当于测试磁盘的读能力。(Ctrl+c终止测试)
测试同时读写能力
dd if=/dev/sdb of=/test.file bs=64k count=10000 oflag=direct |
---|
生成640Mb的文件
注意:dd 只能提供一个大概的测试结果,而且是连续 I/O 而不是随机 I/O,理论上文件规模越大,测试结果越准确。 同时,iflag/oflag 提供 direct 模式,direct 模式是把写入请求直接封装成 I/O 指令发到磁盘,非 direct 模式只是把数据写入到系统缓存就认为 I/O 成功,并由操作系统决定缓存中的数据什么时候被写入磁盘
二、网络IO、带宽测试
1、ping
查看是否有时延
2、scp命令、winscp、xftp等上传工具
查看拷贝、上传速率是否正常
3、iperf工具
Iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能。Iperf具有多种参数和UDP特性,可以根据需要调整。Iperf可以报告带宽,延迟抖动和数据包丢失。进行测试时分为服务端和客户端。
安装
yum install iperf -y |
---|
TCP模式测试
服务端
|
---|
UDP模式测试
服务端
|
---|
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-04-12 linux删除软链接文件【原创】
2019-04-12 使用nc传输文件和目录【转】
2017-04-12 expect学习笔记及实例详解【转】
2017-04-12 mycat学习笔记
2017-04-12 sort命令的k选项大讨论【转】