我的服务器似乎没有caching什么好的

我有一个来自tocici的VPS (通过BuildYourVPS)。 它有4 GB的RAM(2 GB的“突发”RAM)。

但是,该服务器有一些严重的性能问题。 首先,快速说明该服务器运行的内容:

  • Debian 5
  • Apache(通常是最新的)
  • PHP的fcgi
  • mysqld的
  • 它运行一些其他微不足道的东西
    • memcached,但…

networking服务器主要提供MediaWiki。 高速caching在MW的configuration中完全closures; 启用memcached实际上是比较慢的 ,即使memcached的报告在启用的时候也能达到很好的命中率(60%,然后随着时间的推移上升到90%)。

似乎在扼杀我的服务器的性能最大chokehold只是磁盘I / O。 这真是太糟糕了,即使是一个简单的ls也可以永远持续下去:

  xkeeper @ localhost:〜/ logs / wiki.rustedlogic.net $ time ls / root
 。  .. [...]
真正的0m0.766s

 xkeeper @ localhost:〜/ logs / wiki.rustedlogic.net $ time ls / usr /
 。  bin游戏包括lib本地sbin共享src X11R6
真正的0m1.460s
用户0m0.000s
 sys 0m0.004s 

在某些时候,它可能变得非常糟糕,像这样。 它走了,但是…

  xkeeper @ localhost:〜$ time ls / etc / log 
 ls:不能访问/ etc / log:没有这样的文件或目录 

实际0m3.887s 

iowait有时会非常糟糕,即使重新启动mysqld实际上也会失败,因为它超时了。 (试图/etc/init.d/mysqld restart ,但通常会更快)。

我不知道接下来要做什么。

下面是Monit的一个图表,显示了在这个特定时间的CPU使用情况(右边是我重新启动Apache和MySQL时的情况): monit cpu使用情况

服务器也不完全在RAM上窒息。 试图寻找一种增加caching的方法(除了增加MySQL的密钥caching和其他东西外)已经certificate是徒劳的; 即使彻底加倍MySQL中的caching大小,它似乎也没有太大的影响。 monit RAM图表输出

如果您认为这将有所帮助,您还可以使用滚动图查看完整的统计信息页面 。

运行iostat

  avg-cpu:%user%nice%system%iowait%steal%idle
            0.00 0.00 0.00 99.18 0.00 0.82
           13.82 0.00 0.88 941878736.18 0.00 142.11
            0.69 0.00 0.69 6.21 0.00 92.41 

由于您与其他许多人共享系统,听起来就像大型机正在返回\ o /那样。

我会说得到一个专门的服务器,或者至less确保select一个VPS提供商不过度利用其服务器。