linux磁盘I/O的性能评估


参考自:自学it网,http://www.zixue.it/

(1)使用iostat命令。

[test@localhost /]$ iostat -d
Linux 3.10.-862.9..el7.x86_64 (localhost.localdomain) 2018年10月11日 _x86_64_ ( CPU) Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.71 45.92 41.60
dm- 1.46 40.99 41.25
dm- 0.02 0.37 0.00 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00
dm- 0.00 0.00 0.00
dm- 0.00 0.00 0.00 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00
dm- 0.00 0.00 0.00
dm- 0.00 0.00 0.00

解释:
kB_read/s 每秒读取数据块数
kB_wrtn/s 每秒写入的数据块数
KB_read 读取的所有数据块数
kB_wrtn 写入的所有数据块数
如果kB_wrtn/s的值很大,表示写操作频繁,需要考虑优化磁盘或者优化程序。
如果kB_read/s的值很大,表示读操作频繁,可以将读取的数据放入内存中。

(2)使用sar评估磁盘性能

[test@localhost /]$ sar -d
Linux 3.10.-862.9..el7.x86_64 (localhost.localdomain) 2018年10月11日 _x86_64_ ( CPU) 16时38分09秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
16时38分11秒 dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
16时38分11秒 dev253- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
16时38分11秒 dev253- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16时38分11秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
16时38分13秒 dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
16时38分13秒 dev253- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
16时38分13秒 dev253- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
平均时间: dev8- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均时间: dev253- 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

解释:
await 表示平均每次设备I/O操作的等待时间(以毫秒为单位)。
svctm 表示平均每次设备I/O操作的服务时间(以毫秒为单位)。
%util 表示一秒钟有百分之几的时间用于I/O操作。
一般有如下评判标准:
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系统已经满负荷在工作,该磁盘可能存在瓶颈。
长期下去,势必影响系统的性能,可以通过优化程序或通过更换更高、
更快的磁盘来解决此问题。


linux磁盘I/O的性能评估的更多相关文章

  1. linux@64 获取时间的性能评估

    听人说gettimeofday 在64bit下有缓存,速度很快,测试下了,感觉不对啊.. #include <time.h> #include <sys/time.h> #in ...

  2. [转载]Linux服务器性能评估与优化

    转载自:Linux服务器性能评估与优化 一.影响Linux服务器性能的因素 1. 操作系统级 CPU 内存 磁盘I/O带宽 网络I/O带宽 2.        程序应用级 二.系统性能评估标准 影响性 ...

  3. 转贴---Linux服务器性能评估

    http://fuliang.iteye.com/blog/1024360 http://unixhelp.ed.ac.uk/CGI/man-cgi?vmstat ------------------ ...

  4. Linux服务器性能评估

    一.影响Linux服务器性能的因素 1. 操作系统级 CPU 内存 磁盘I/O带宽 网络I/O带宽 2. 程序应用级 二.系统性能评估标准 影响性能因素 影响性能因素 评判标准 好 坏 糟糕 CPU ...

  5. Linux性能评估命令

    Linux性能评估工具 https://www.cnblogs.com/dianel/p/10085454.html Linux性能评估工具 目录 介绍 负载:uptime 查看内核的信息: dmes ...

  6. Linux服务器性能评估与优化--转

    http://www.itlearner.com/article/4553 一.影响Linux服务器性能的因素 1. 操作系统级 Ø       CPU Ø       内存 Ø       磁盘I/ ...

  7. Linux服务器性能评估与优化(一)

    网络内容总结(感谢原创) 1.前言简介 一.影响Linux服务器性能的因素   1. 操作系统级         性能调优是找出系统瓶颈并消除这些瓶颈的过程. 很多系统管理员认为性能调优仅仅是调整一下 ...

  8. linux的内存性能评估

    linux的内存性能评估 参考自:自学it网,http://www.zixue.it/. (1)使用free指令监控内存,参数-m以M为单位显示,-h人性化显示单位. [test@localhost ...

  9. Linux服务器性能评估与优化

    一.影响务器性能因素 影响企业生产环境Linux服务器性能的因素有很多,一般分为两大类,分别为操作系统层级和应用程序级别.如下为各级别影响性能的具体项及性能评估的标准: (1)操作系统级别 内存: C ...

随机推荐

  1. MIPS—冒泡排序

    SORT 使用冒泡排序对整数数组进行排序,这种排序虽然不是最快的,但却是最简单的. C语言代码 #include<stdio.h> #include<iostream> usi ...

  2. valgrind测试程序内存泄漏问题

    1.用wincap将valgrind放入系统任意路径下,解压 2.  登录主机后台在需要测试程序的路径下运行此行命令: /opt/valgrind/bin/valgrind ./itb(例) 3. 跑 ...

  3. 电脑上文件的后缀名被隐藏,把一个文本文件改成.bat时,默认打开的还是文本。

    1.打开文件夹,选择组织,点击“文件夹和搜索选项”,如图: 2.选择“查看”,找到“隐藏已知文件类型的扩展名”,不要勾选这一项,如图: 3.点击“确定”或者“应用”

  4. github+hexo+themes搭建简易个性主题博客

    0x00  install Node.js and git 安装Node.js:http://www.runoob.com/nodejs/nodejs-install-setup.html 安装git ...

  5. javase(13)_网络编程

    一.概述 1.网络编程的核心是IP.端口(表示应用程序).协议三大元素 2.网络编程的本质是进程间通信 3.网络编程的2个主要问题:1是定位主机,2是数据传输 二.网络通信的概念 1.网络通信协议 计 ...

  6. systemverilog之OOP

    what is oop terminology an example class default methods for classes static attibute assigment and c ...

  7. perl:split函数用法

    本文和大家重点讨论一下Perl split函数的用法,Perl中的一个非常有用的函数是Perl split函数-把字符串进行分割并把分割后的结果放入数组中.这个Perl split函数使用规则表达式( ...

  8. 【STL初步】不定长数组:vector + 集合:set + 映射:map

    一.vector 为了节省空间,有时我们会使用动态数组vector. 定义动态数组 vector<类型名>变量名 vector<int>que //定义que为一个int类型的 ...

  9. Spark 2.0.0 SPARK-SQL returns NPE Error

    com.esotericsoftware.kryo.KryoException: java.lang.NullPointerExceptionSerialization trace:underlyin ...

  10. struts向网页输出图片验证码

    前言:今天做个功能需要展示图片到页面,并不是下载,在网上搜了老半天,大部分都是下载,有的话也是只能在IE下进行输出,其它浏览器就都是下载了. Action代码: public String proce ...