磁盘瓶颈现形记 - iostat让I/O压力无所遁形
《Linux性能探案录:SRE的命令行“X光”技术》
系列第三篇:磁盘瓶颈现形记 - iostat
让I/O压力无所遁形
“案发现场”:
你的数据库服务器刚刚经历了一次硬件升级,换上了全新的、号称读写速度上千兆每秒的NVMe SSD。你满心欢喜,以为从此可以高枕无忧。然而,在一次大数据导入任务中,你惊讶地发现,整个系统依然响应迟缓,应用日志里充满了数据库连接超时的错误。
你立刻登录服务器,执行了我们前两章学过的命令:
top
显示%wa
(I/O等待) 居高不下。vmstat 1
同样证实了wa
列的飙升。你已经可以断定,性能瓶颈出在I/O上。但问题来了:如何用更精确、更无可辩驳的数据,来向你的团队证明这一点?又该如何量化I/O压力到底有多大?
这时,我们就需要请出专门的“磁盘性能分析仪”——
iostat
。
一、iostat
:你的磁盘“心电图仪”
iostat
(input/output statistics) 是一个功能强大的工具,它能提供关于磁盘I/O和CPU活动的详细报告。今天,我们聚焦于它最核心的功能——监控磁盘性能。
它可以实时告诉你:
- 你的硬盘每秒钟在进行多少次读写操作?
- 每次操作平均要花费多长时间?
- 你的硬盘是否已经处于“满负荷”运转状态?