关于linux系统性能的查看与分析
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-10
不过我还没发现什么事情比排队还无聊 的). I/O 系统也和超市排队有很多类似之处: r/s w/s 类似于交款人的总数 平均队列长度(avgqu-sz)类似于单位时间里平均排队人的个数 平均服务时间(svctm)类似于收银员的收款速度 平均等待时间(await)类似于平均每人的等待时间 平均I/O数据(avgrq-sz)类似于平均每人所买的东西多少 I/O 操作率 (%util)类似于收款台前有人排队的时间比例. 我们可以根据这些数据分析出 I/O 请求的模式,以及 I/O 的速度和响应时间. 下面是别人写的这个参数输出的分析 # iostat -x 1 avg-cpu: %user %nice %sys %idle 16.24 0.00 4.31 79.44 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util /dev/cciss/c0d0 0.00 44.90 1.02 27.55 8.16 579.59 4.08 289.80 20.57 22.35 78.21 5.00 14.29 /dev/cciss/c0d0p1 0.00 44.90 1.02 27.55 8.16 579.59 4.08 289.80 20.57 22.35 78.21 5.00 14.29 /dev/cciss/c0d0p2 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 上面的 iostat 输出表明秒有 28.57 次设备 I/O 操作: 总IO(io)/s = r/s(读) w/s(写) = 1.02 27.55 = 28.57 (次/秒) 其中写操作占了主体 (w:r = 27:1). 平均每次设备 I/O 操作只需要 5ms 就可以完成,但每个 I/O 请求却需要等上 78ms ,为什么? 发出的 I/O 请求太多 (每秒钟约 29 个),假设这些请求是同时发出的, 那么平均等待时间可以这样计算: 平均等待时间 = 单个 I/O 服务时间 * ( 1 2 ... 请求总数-1) / 请求总数 应用到上面的例子: 平均等待时间 = 5ms * (1 2 ... 28)/29 = 70ms,和 iostat 给 出的78ms 的平均等待时间很接近.这反过来表明 I/O 是同时发起的. 每秒发出的 I/O 请求很多 (约 29 个),平均队列却不长 (只有 2 个 左右),这表明 这 29 个请求的到来并不均匀,大部分时间 I/O 是空闲的. 一秒中有 14.29% 的时间 I/O 队列中是有请求的,也就是说,85.71% 的时间里 I/O 系统无事可做,所有 29 个 I/O 请求都在142毫秒之内处理掉了. delta(ruse wuse)/delta(io) = await = 78.21 => delta(ruse wuse)/s=78.21 * delta(io)/s = 78.21*28.57 =2232.8,表明每秒内的I/O请求总共需要等待2232.8ms.所 以平均队列长度应为 2232.8ms/1000ms = 2.23,而iostat 给出的平均队列长度 (avgqu -sz) 却为 22.35,为什么?! iostat 中有 bug,avgqu-sz值应为 2.23,而不是 22.35. 本文出自 “成长全记录” 博客,请务必保留此出处http://lymrg.blog.51cto.com/1551327/426627 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: LINUX将常用目录添入文件浏览器目录树下一篇: 让Linux系统执行sudo时不用输密码
关于关于linux系统性能的查看与分析的所有评论