Apache每5分钟崩溃一次

我对服务器问题相对来说比较陌生,有一个我在今年初开始的网站,超出了pipe理它的能力。 我需要帮助。

我最近从共享主机环境中移出了一个来自Mediatemple的专用虚拟服务器。

每周我运行一个脚本,从我的数据库中提取数据,从last.fm的API中提取数据,然后向Twitter发送推文信息。

我的服务器使用Virtuozzo,当脚本运行时,Apache每5min崩溃一次。 我检查了一下,看到'kmemsize'参数达到了上限(13mb)。

我意识到我的问题。 MySQL需要处理大量的input链接(根据我以前的主机的AWSTATS,当天约有20万次综合浏览量),MySQL进程保持打开状态的时间很长。 是的,我在这方面非常没有经验,而且我很明显地杀死了有太多入站链接的服务器,同时还要pipe理数据库的更新。

这是先例:我想要一些答案。

1)为什么我的共享主机环境不会每5分钟崩溃apache? 它运行良好,网站只减慢了很多。 显然,它必须是虚拟容器和kmemsize限制?

2)我从哪里出发? 物理服务器(不是虚拟容器)会遇到同样的问题吗?


我也向Mediatemple发送了支持请求。 我需要所有的帮助。

这可以像调整MySQL一样简单。

您的旧主机/服务器可能有一个独特的/etc/my.cnf文件vs普通的香草。

从一些基本的MySQL监控开始 – 这里可能有一些帮助的工具是:

顶部,顶部和innotop

(顶部是Linux中的默认)mtop – http://mtop.sourceforge.net innotop – http://innotop.sourceforge.net

您也可以从命令行(cli)使用MySQL监视工具

mysqladmin processlist / mysqladmin proc

可悲的是 – 很多人会使用/ usr / share / mysql下的默认模板

我强烈build议跳过他们 – 他们是旧的,不值得使用的原因如下:

某些操作系统或MySQL版本的无效设置(例如,thread_concurrency和skip-locking)添加巨大的数组variables,您可能不知道它们是什么性能从其他设置进行testing不仅仅是可疑的运行这些 – 让MySQL运行至less24-48小时,然后使用以下诊断工具:

MySQL的调谐器(只需键入wget mysqltuner.pl在Linux下载然后chmod755 mysqltuner.pl并通过执行./mysqltuner.pl ;-)运行mysqlidxchk(通过安装wget hackmysql.com/scripts/mysqlidxchk-1.1 chmod 755 mysqlidxchk * mv mysqlidxchk * mysqlidxchk)然后运行这样的操作:(./mysqlidxchk –general / var / lib / mysql / general.log)如果你需要一些帮助安装这些,请让我知道

PS – 其中大部分是仅限于linux的脚本 – 但是对于mySQL服务器的调整和pipe理将有很大的帮助。

以及一个很好的日志parsing工具,如mysqlsla和mysqlreport状态报告

你是否偶然使用控制面板?

vzctl设置101 –kmemsize 2211840:2359296 – 保存

尝试一下,它会增加kmemsize

VZ技术的工作方式是对各种资源施加限制。 如果你的beancounter显示你超出了你的记忆限制,你有几个select。

  1. 升级您的主机软件包,以便拥有更多的资源。
  2. 用轻量级web服务器(如lighttpd或nginx)replaceapache。
  3. 通过引用它附带的my-small.cnf文件来configurationmysql以使用更less的资源。
  4. configuration你的应用程序使用更less的内存(例如PHP中的memory_limit)。

这里有各种教程,展示了如何为各种小型VPS选项configuration一个轻量级的LAMP类堆栈。

我知道这是一个相当古老的问题,但认为以下将是有益的:

如果它是一个MySQL服务器调整的问题,我使用http://tools.percona.com它是一个免费的服务,只需注册,login,填写服务器的详细信息,它给你的设置,需要合并到my.ini文件

我已经看到了性能的提升,比如import20分钟就可以在7秒钟内完成调整。