| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 如何监测 Linux 的磁盘 I/O 性能 -> 正文阅读 |
|
[系统运维]如何监测 Linux 的磁盘 I/O 性能 |
如何监测 Linux 的磁盘 I/O 性能最近,我从cnaaa.com上购买了云服务器,开通了centos系统。 我们知道 Linux 存储系统 I/O 栈由文件系统层(file system layer)、通用块层( general block layer)和设备层(device layer)构成。 其中,通用块层是 Linux 磁盘 I/O 的核心。向上,它为访问文件系统和应用程序的块设备提供了标准接口;向下,它将各种异构磁盘设备抽象为一个统一的块设备,并响应文件系统和应用程序发送的 I/O。 在本文中,我们来看看磁盘的性能指标以及如何查看这些指标。 Linux 磁盘性能指标在衡量磁盘性能时,我们经常提到五个常见指标:利用率、饱和度、IOPS、吞吐量和响应时间。这五个指标是衡量磁盘性能的基本指标。
这里需要注意的是,关于利用率,我们只考虑有无 I/O,而不考虑 I/O 的大小。也就是说,当利用率为 100% 时,磁盘仍有可能接受新的 I/O 请求。 一般来说,在为应用选择服务器时,首先要对磁盘的 I/O 性能进行基准测试,这样才能准确评估磁盘性能,以判断是否能够满足应用的需求。 当然,这需要你在随机读、顺序读、随机写、顺序写等各种应用场景下测试不同 I/O 大小(通常是 512B ~ 1MB 之间)的性能。 磁盘 I/O 观察首先要观察的是每个磁盘的使用情况。iostat 是最常用的磁盘 I/O 性能观察工具。它提供了各种常用性能指标,例如每个磁盘的利用率、IOPS 和吞吐量。当然,这些指标实际上来自 以下是 # -d -x means display all disk I/O performance $ iostat -d -x 1 Device ? ? ? ? ? r/s ? ? w/s ? ? rkB/s ? ? wkB/s ? rrqm/s ? wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util loop0 ? ? ? ? ? 0.00 ? 0.00 ? ? 0.00 ? ? 0.00 ? ? 0.00 ? ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? ? 0.00 ? ? 0.00 ? 0.00 ? 0.00 loop1 ? ? ? ? ? 0.00 ? 0.00 ? ? 0.00 ? ? 0.00 ? ? 0.00 ? ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? ? 0.00 ? ? 0.00 ? 0.00 ? 0.00 sda ? ? ? ? ? ? 0.00 ? 0.00 ? ? 0.00 ? ? 0.00 ? ? 0.00 ? ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? ? 0.00 ? ? 0.00 ? 0.00 ? 0.00 sdb ? ? ? ? ? ? 0.00 ? 0.00 ? ? 0.00 ? ? 0.00 ? ? 0.00 ? ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? 0.00 ? ? 0.00 ? ? 0.00 ? 0.00 ? 0.00 在上述指标中,您需要注意的是:
您可能已经注意到 进程 I/O 观察除了每个磁盘的 I/O 情况,每个进程的 I/O 情况也是大家关注的重点。 上面提到的 例如,要使用 $ pidstat -d 1 13:39:51 ? ? UID ? ? ? PID ? kB_rd/s ? kB_wr/s kB_ccwr/s iodelay Command 13:39:52 ? ? 102 ? ? ? 916 ? ? 0.00 ? ? 4.00 ? ? 0.00 ? ? ? 0 rsyslogd 从
除了使用 $ iotop Total DISK READ : ? ? ? 0.00 B/s | Total DISK WRITE : ? ? ? 7.85 K/s Actual DISK READ: ? ? ? 0.00 B/s | Actual DISK WRITE: ? ? ? 0.00 B/s TID PRIO USER ? ? DISK READ DISK WRITE SWAPIN ? ? IO> ? COMMAND 15055 be/3 root ? ? ? 0.00 B/s ? 7.85 K/s 0.00 % 0.00 % systemd-journald 从该输出可以看到,前两行分别代表进程的磁盘读写总大小和磁盘的实际读写总大小。由于缓存、缓冲区、I/O 合并等因素,它们可能不相等。 剩下的部分从各个角度代表了进程的 I/O 情况,包括 线程 ID、I/O 优先级、每秒磁盘读取大小、每秒磁盘写入大小、换入百分比和等待 I/O 时钟百分比。 结论在本文中,我介绍了 Linux 磁盘 I/O 的性能指标和查看性能工具。我们通常使用 IOPS、吞吐量、利用率、饱和度和响应时间等几个指标来评估磁盘的 I/O 性能。 可以使用 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 9:27:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |