我对服务器问题相对来说比较陌生,有一个我在今年初开始的网站,超出了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。
这里有各种教程,展示了如何为各种小型VPS选项configuration一个轻量级的LAMP类堆栈。
我知道这是一个相当古老的问题,但认为以下将是有益的:
如果它是一个MySQL服务器调整的问题,我使用http://tools.percona.com它是一个免费的服务,只需注册,login,填写服务器的详细信息,它给你的设置,需要合并到my.ini文件
我已经看到了性能的提升,比如import20分钟就可以在7秒钟内完成调整。