巧用iotop分析Linux写入性能问题

巧用iotop分析Linux写入性能问题

精选 转载

liyoujia1

文章标签 Linux iotop 文章分类 运维

 

巧用iotop分析Linux写入性能问题
服务器常见性能问题在于写入数据。当服务器写入太多数据时,存储分航道就会应接不暇。但是很难找出性能问题,因此本文将介绍如何分析Linux服务器上的性能问题。
4 c4 i' z$ `) G h! S# I0 c& M/ I1 l: l" P
  与写入性能相关的问题通常隐藏在其他参数背后。不过在所有情况下,top命令是开始找寻问题的起点。CPU行里的wa参数显示了你的系统等待I/O通道的时间数量。一般来说,这预示了一个缓慢的存储通道。
; s1 m! d, @. z; |, i) `' d( _" }, Q! ~* [" V) _0 N" b4 i1 b

巧用iotop分析Linux写入性能问题 _iotop

8 `+ V4 {, x; z X
  在wa参数里的值很高意味着存储通道很拥挤。( P1 r# ]" o: l

M$ ^3 |- n) a( w& J  只查看top是不够的。我们来看个小测试。在测试里,我们已将目前的内存状态写入磁盘,使用的是dd if=/dev/kcoreof=/kcore.imgbs=4096。在一台4GB的机器上,这是个很不轻松的活。当执行这项任务时,其他每样事都运行得很慢,这说明存在性能问题。
8 s) J+ x K, F3 T+ n: E
+ T7 x" e( p% Z- m3 Y; ^' S% a  但是,top的问题在于不容易看见写入性能问题。它完全取决于你拥有的CPU核心数量。在16核的服务器上,写入问题可能要求所有CPU围绕着一个CPU转。你可能在一般的top视图上看不见这种情况,因为提供给你的是所有CPU在一起的平均数。因此在被写入完全占领的一个CPU核心上,你在top的wa参数里看不见大于6%的利用率。要获得更多信息,首先要做的是按下top接口里的1键,会显示每个CPU核心。在本文的测试系统中,只有两个核心,所以结果不是很意外。但是,在多个核心系统上,所显示的不同非常重要。0 k( W5 I0 Q2 M3 F6 a* M! R' d
7 @* [$ P: x2 w* O7 _

巧用iotop分析Linux写入性能问题 _Linux_02

1 B* M+ B4 ^# F% x
  在top里,按下1查看每个CPU核心的细节。
 
 
 

 
 
 
  因此,如果16个核心中只有一个非常繁忙,等待缓慢的存储通道,那么剩余的15个核心不能工作,对吗?答案通常是“对”。如果你只有一个存储通道,那么所有CPU的需求都会通过此通道。如果一个CPU异常繁忙,等待存储通道,那么其他核心就不能从此通道得到提示反应。因此看起来可以从top窗口找到性能根源,实则困难。 K0 C: P4 e" Y5 T0 p! N5 W$ w
% ]- k! N0 A. U3 k) S
  幸好有iotop工具,它能提供与I/O相关的最活动进程的信息,许多Linux版本在默认下都没有安装iotop,因此确定你进行了手动安装,可以使用你Linux版本的元数据包处理程序(例如,如果使用SUSE,就用zypper安装iotop)。iotop好的地方在于为你显示与I/O相关活动频繁的进程,还有产生I/O的数量。如果你将这个进程所产生的I/O负载与存储通道的容量进行比较,你会立即明白如果你有一个存储问题,就是这个问题了。然后你可以修复这个问题。
4 s. w# \! E) Q) h, C; i1 f
9 M: p5 X0 ~' t) ?9 g6 A u( B

巧用iotop分析Linux写入性能问题 _Linux_03


; b4 E/ z$ d" w2 S* F B  有了iotop,你能看见哪个进程占用了的资源。
  • 收藏
  • 评论
  • 举报
提问和评论都可以,用心的回复会被更多人看到 评论
发布评论
相关文章

举报文章

请选择举报类型

内容侵权 涉嫌营销 内容抄袭 违法信息 其他

具体原因

包含不真实信息 涉及个人隐私

补充说明

0/200

上传截图

格式支持JPEG/PNG/JPG,图片不超过1.9M

已经收到您得举报信息,我们会尽快审核