sysstat version 7.0.2
--iostat 检查磁盘性能
(CentOS:man iostat查看使用手册)
1、在Web、Mail、DBMS等小文件频繁读写的环境下,性能主要由IOPS决定。在视频、测绘等大文件连续读写的环境下,性能主要由带宽决定。可见,在不同的应用方式中,需要考察的侧重点也不同。对NAS产品来说,主要性能指数也是两个:OPS和ORT,分别代表每秒可响应的并发请求数和每个请求的平均反应时间。对磁带存储设备来说,单个磁带驱动器的读写速度是最重要的性能指标。
2、Random的worklaod环境下,不依赖于数据大小的多少,更多依赖的是磁盘的IOPS数,Web、Mail和DBMS服务就是典型的Random workload,I/O 请求内容都很小,Random workload是同时每秒会有更多的请求数产生,所以,磁盘的IOPS指标是关键。
评估 IOPS 的效能,可用每秒读写I/O 字节数除以每秒读写IOPS 数得出,比如:
rkB/s 除以 r/s = KB per I/O
wkB/s 除以 w/s = KB per I/O
iostat命令详解
iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ] 基本语法 : iostat <options> interval count option - 让你指定所需信息的设备,像磁盘、cpu或者终端(-d , -c , -t or -tdc ) 。x 选项给出了完整的统计结果。 iostat 的默认参数是tdc(terminal, disk, and CPU)。如果任何其他的选项被指定,这个默认参数将被完全替代。 interval – 统计运行的间隔时间(秒), count – 统计运行的次数 其中,-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes字节显示数据;-t为打印汇报的时间;-v表示打印出版本信息和用法;-x device指定要统计的设备名称,默认为所有的设备;
iostat -d -k -t 2 Device: 显示磁盘名称 tps: 表示每秒钟输出到物理磁盘的传输次数。一次传输就是一个对物理磁盘的 I/O 请求。多个逻辑请求可被并为对磁盘的一个单一 I/O 请求。传输具有中等的大小。 kB_read/s: 每秒从磁盘读取的数据量,单位为KB。 kB_wrtn/s: 每秒从写入磁盘的数据量,单位为KB。 Kb_read: 读取的 KB 总数。 Kb_wrtn: 写入的 KB 总数
iostat -x 1 10 rrqm/s: 每秒进行 merge 的读操作数目。即 delta(rmerge)/s
svctm 一 般要小于 await (因为同时等待的请求的等待时间被重复计算了),svctm 的大小一般和磁盘性能有关,CPU/内存的负荷也会对其有影响,请求过多也会间接导致 svctm 的增加。await 的大小一般取决于服务时间(svctm) 以及 I/O 队列的长度和 I/O 请求的发出模式。如果 svctm 比较接近 await,说明 I/O 几乎没有等待时间;如果 await 远大于 svctm,说明 I/O 队列太长,应用得到的响应时间变慢,如果响应时间超过了用户可以容许的范围,这时可以考虑更换更快的磁盘,调整内核 elevator 算法,优化应用,或者升级 CPU。 如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘 可能存在瓶颈。 同时可以结合vmstat 查看查看b参数( 等待资源的进程数 )和wa参数( IO等待所占用的CPU时间的百分比,高过30%时IO压力高 ) |