调查缓慢的Linux服务器

我知道这是一个很熟悉的旧问题,但我有点难住。

我有一个运行Fedora 14的Rackspace虚拟服务器。它是一台小型机器,没有一个很大的(testing网站),有256MB的RAM和10GB的磁盘。

在过去的几天,它开始运行真的很慢。 terminal会话速度慢,节目需要很长时间才能运行,而且网站现在已经陷入困境或无法使用。

我检查了我认为是明显的东西 – 顶部没有显示任何繁重的CPU负载,有可用的内存,我的Nagios监控也不显示任何负载。

我用Puppet创build了机器,昨天晚上我创build了一个运行良好的“相同”(我猜)机器。

我已经检查过TCP,看看有没有进出的东西可能是一个瓶颈,也没有透露任何东西。

有没有其他的提示可以提供? 我不明白为什么它应该是缓慢的,但除了我所经历的事情之外,我没有find这种缓慢的可衡量的证据。

要做的事情是打开Rackspace的门票,让他们把它整理出来,这就是为什么你要付钱。

我的钱就是在这个磁盘I / O问题,他们要么严重超额认购他们的低端VPS产品或不同的VPS用户吞噬所有的磁盘I / O。

不pipe是哪种情况,在VPS部署中,您经常需要涉及主机,因为您作为VPS用户对物理硬件上发生的事情没有任何洞察力。 现在回到与供应商开张票了。

一些一般的技巧,没有特定的顺序:

  • 在那里安装。 它从启动以来logging系统活动,有点像sar,但给出了一个很好的界面来分析它。 在内存,CPU,磁盘和networking中查找高使用率的进程。
  • 在CPU上寻找高%的wa,这是等待外部I / O的CPU,通常是由于磁盘访问速度慢,特别是在VPS环境中造成的。 我会在这里对冲我的赌注,因为这是一个常见的问题。 如果你看到的是高%的话,那么你就没有办法做到这一点,因为这通常是由于存储量过大造成的。 大声疾呼,直到他们解决它!
  • 256M的内存不是很多,特别是如果有问题的网站是build立在一个框架(如Symfony,Django的等),并运行像Apache一样。 如果configuration不正确,组合会吞噬内存。 看看你的系统是否使用任何交换,如果是,那么你需要更多的内存,或者你需要通过configuration来限制你的Web服务器的内存使用量。 如果您正在运行Apache,请查看prefork设置下的选项 。

这听起来像是不堪重负的主机硬件,从CPU等待时间可以看出这一点。 VPS环境中的这个数字可以归结为“客户虚拟机之外的任何问题”!

如果可能,请他们将您迁移到不同的主机作为基准testing。