0
点赞
收藏
分享

微信扫一扫

定位磁盘性能问题的武器


最近碰到一个Oracle DG备库延迟的问题,经过排查,定位是磁盘性能问题,用的是普通磁盘,而不是SSD,且性能较差,存在读写等待。

关于定位磁盘的性能问题,可以有很多第三方或者原生工具的支持,Linux自带的iostat就是其中之一。iostat指令是Linux/Unix系统上的一个性能分析工具,可以用来监控系统的I/O性能,包括了CPU利用率、磁盘读写速度、网络吞吐量等。iostat可以实时输出系统的I/O性能信息,也可以按照一定的时间间隔输出统计信息。

iostat带上各种参数,即可以进行磁盘的性能验证,例如,

iostat -xdm 1

iostat的常用选项如下,

-c:显示CPU利用率相关的信息;

-d:显示磁盘I/O相关的信息;

-n:显示网络I/O相关的信息;

-t:在输出中包含时间戳信息;

-x:显示详细的磁盘I/O相关信息,包括磁盘的平均响应时间、I/O队列长度等。

-m:用MB/s展示统计数据。

例如回显如下,vdb是数据盘,w_await不是0,说明写存在等待,

定位磁盘性能问题的武器_等待时间

w_await的解释,可以通过man找到,

w_await
The average time (in milliseconds) for write requests issued 
to the device to be served. This includes the time spent by the 
requests in queue and the time spent servicing them.

其它可能的回显字段如下所示,

tps:表示每秒钟完成的I/O请求次数

kB_read/s和kB_wrtn/s:表示每秒钟读取和写入的数据量。

rrqm/s:每秒钟由于读取操作被延迟而需要重新排队的读取请求次数;

wrqm/s:每秒钟由于写入操作被延迟而需要重新排队的写入请求次数;

r/s:每秒钟从设备中读取的次数;

w/s:每秒钟向设备中写入的次数;

rMB/s:每秒钟从设备中读取的数据量(以MB为单位);

wMB/s:每秒钟向设备中写入的数据量(以MB为单位);

avgrq-sz:平均每个I/O请求的数据量(以扇区为单位);

avgqu-sz:平均I/O队列长度;

await:平均I/O请求的等待时间(以毫秒为单位);

r_await:平均读取请求的等待时间(以毫秒为单位);

w_await:平均写入请求的等待时间(以毫秒为单位);

svctm:平均I/O请求的服务时间(以毫秒为单位);

%util:设备的利用率,即设备处于繁忙状态的时间占总时间的百分比。

如果您认为这篇文章有些帮助,还请不吝点下文章末尾的"点赞"

举报

相关推荐

0 条评论