首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >服务器I/O攀升,带宽峰值,服务器锁,从哪里开始?

服务器I/O攀升,带宽峰值,服务器锁,从哪里开始?
EN

Server Fault用户
提问于 2011-12-12 10:02:07
回答 2查看 308关注 0票数 0

我正在使用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

EN

回答 2

Server Fault用户

发布于 2011-12-13 02:49:55

当服务器处于一个糟糕的时刻时,找出这样的问题是最容易的。如果可以将其固定在CPU、内存或磁盘上,则会有所帮助。

  • 安装并运行htop。检查右上角的负载平均值。排序(按F6)按CPU%,然后按MEM%,看看是否有异常值。
  • 如果您有异常值,并且是apache/httpd进程,请运行"links http://localhost/server-status“,看看是否可以确定是哪个页面导致了问题。
  • 如果这没有帮助,“扼杀-p PID”的偏离进程,看看您是否可以确定它正在尝试访问哪些资源,以及它可能正在做什么。
  • 运行vmstat 1,查看右侧附近的"wa“列。这就是IO等待,如果它是高于20或30 IO是最有可能的问题。

不过,听起来好像是记忆的问题。也许新主机上的mysql配置太激进了?确保您的key_buffer和innodb_buffer_pool_size组合不会占用太多内存,特别是因为它不是专用的DB机器,而且apache需要相当数量的内存才能继续提供httpd进程。随着时间的推移,Mysql将使用您允许的每一点内存,因此这些缓冲区可能需要10-11个小时才能填满。

我也会检查apache中的备存设置,这些设置会对内存的使用产生巨大的影响。我通常把它调得很低或者把它完全关掉。

票数 1
EN

Server Fault用户

发布于 2011-12-12 16:02:57

这个站点上有很多QA资源可供您使用,首先您需要了解您的实际限制器是什么,您提到了交换,所以我猜您有内存问题。

为了获得更好的帮助,您需要为可能需要帮助的人提供一些诊断信息,例如:top的输出。

这听起来可能不对,但是您可以通过调优Apache/MySQL安装以在硬件约束下更好地工作来提高性能和行为。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/340046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档