我正在使用Linode托管一个Wordpress博客,其中包含一个名为“Shopp”的eCommerce插件。
就在几天前,我从一个以前的共享托管帐户(资源少于Linode VPS)移动了这个站点。
问题没有发生在上一台主机上。
每隔几个小时(大约10-11小时,不同),我可以看到带宽的峰值(“正常”流量约为400 k-600 k/S)为1.1mb/s。同时,我可以看到I/O和交换也达到了10k-20k之间的峰值,这使得服务器基本上被锁定。它锁定大约30到40分钟,或直到我重新启动它。
我打开了mysql慢速查询日志,看看是否能在那里找到任何线索,但不幸的是,它记录的所有查询似乎都是正常的(比如'select列,从table1,其中id=1',另一个吸引我注意的慢速查询日志的例子是'set names utf8')。
我如何调查造成这一问题的原因?是否有一种方法可以肯定地知道问题是来自于db,还是服务器上的php文件?
从这里继续下去最好的方法是什么?
P.S:运行Ubuntu10.04,32位,最新的mysql/php/apache2并使用Linode 1024
发布于 2011-12-13 02:49:55
当服务器处于一个糟糕的时刻时,找出这样的问题是最容易的。如果可以将其固定在CPU、内存或磁盘上,则会有所帮助。
不过,听起来好像是记忆的问题。也许新主机上的mysql配置太激进了?确保您的key_buffer和innodb_buffer_pool_size组合不会占用太多内存,特别是因为它不是专用的DB机器,而且apache需要相当数量的内存才能继续提供httpd进程。随着时间的推移,Mysql将使用您允许的每一点内存,因此这些缓冲区可能需要10-11个小时才能填满。
我也会检查apache中的备存设置,这些设置会对内存的使用产生巨大的影响。我通常把它调得很低或者把它完全关掉。
发布于 2011-12-12 16:02:57
这个站点上有很多QA资源可供您使用,首先您需要了解您的实际限制器是什么,您提到了交换,所以我猜您有内存问题。
为了获得更好的帮助,您需要为可能需要帮助的人提供一些诊断信息,例如:top的输出。
这听起来可能不对,但是您可以通过调优Apache/MySQL安装以在硬件约束下更好地工作来提高性能和行为。
https://serverfault.com/questions/340046
复制相似问题