服务器常见性能问题在于写入数据。当服务器写入太多数据时,存储分航道就会应接不暇。但是很难找出性能问题,因此本文将介绍如何分析Linux服务器上的性能问题。 与写入性能相关的问题通常隐藏在其他参数背后。
不过在所有情况下,top命令是开始找寻问题的起点。CPU行里的wa参数显示了你的系统等待I/O通道的时间数量。一般来说,这预示了一个缓慢的存储通道。 在wa参数里的值很高意味着存储通道很拥挤。
只查看top是不够的。我们来看个小测试。在测试里,我们已将目前的内存状态写入磁盘,使用的是dd if=/dev/kcore of=/kcore.img bs=4096。在一台4GB的机器上,这是……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
服务器常见性能问题在于写入数据。当服务器写入太多数据时,存储分航道就会应接不暇。但是很难找出性能问题,因此本文将介绍如何分析Linux服务器上的性能问题。
与写入性能相关的问题通常隐藏在其他参数背后。不过在所有情况下,top命令是开始找寻问题的起点。CPU行里的wa参数显示了你的系统等待I/O通道的时间数量。一般来说,这预示了一个缓慢的存储通道。
在wa参数里的值很高意味着存储通道很拥挤。
只查看top是不够的。我们来看个小测试。在测试里,我们已将目前的内存状态写入磁盘,使用的是dd if=/dev/kcore of=/kcore.img bs=4096。在一台4GB的机器上,这是个很不轻松的活。当执行这项任务时,其他每样事都运行得很慢,这说明存在性能问题。
但是,top的问题在于不容易看见写入性能问题。它完全取决于你拥有的CPU核心数量。在16核的服务器上,写入问题可能要求所有CPU围绕着一个CPU转。你可能在一般的top视图上看不见这种情况,因为提供给你的是所有CPU在一起的平均数。因此在被写入完全占领的一个CPU核心上,你在top的wa参数里看不见大于6%的利用率。要获得更多信息,首先要做的是按下top接口里的1键,会显示每个CPU核心。在本文的测试系统中,只有两个核心,所以结果不是很意外。但是,在多个核心系统上,所显示的不同非常重要。
在top里,按下1查看每个CPU核心的细节。
因此,如果16个核心中只有一个非常繁忙,等待缓慢的存储通道,那么剩余的15个核心不能工作,对吗?答案通常是“对”。如果你只有一个存储通道,那么所有CPU的需求都会通过此通道。如果一个CPU异常繁忙,等待存储通道,那么其他核心就不能从此通道得到提示反应。因此看起来可以从top窗口找到性能根源,实则困难。
幸好有iotop工具,它能提供与I/O相关的最活动进程的信息,许多Linux版本在默认下都没有安装iotop,因此确定你进行了手动安装,可以使用你Linux版本的元数据包处理程序(例如,如果使用SUSE,就用zypper安装iotop)。iotop好的地方在于为你显示与I/O相关活动频繁的进程,还有产生I/O的数量。如果你将这个进程所产生的I/O负载与存储通道的容量进行比较,你会立即明白如果你有一个存储问题,就是这个问题了。然后你可以修复这个问题。
有了iotop,你能看见哪个进程占用了的资源。
翻译
相关推荐
-
优化存储性能?你需要关注这些Linux I/O调度程序选项
要优化Linux性能,IT团队应该检查当前正在使用的I/O调度程序,并评估诸如deadline和完全公平队列(Completely Fair Queuing)这样的替代方案选项。
-
如何修复Linux I/O写入性能问题?
在之前的文章中,我们介绍了如何使用iotop分析Linux写入性能问题,本文将解释如何解决Linux写入性能问题。