我遇到的问题是我的托管帐户由于内存不足而不断崩溃。
我有一个具有 1Gb RAM 的 VPS Linux 托管帐户。
最近,每当我对我的网站进行任何更改然后刷新该网站时,它似乎都会崩溃,我必须重新启动虚拟服务器。
我的托管公司还向我发送了以下电子邮件:
Swap cache: add 972200, delete 964261, find 201469/251424, race 6+227
Free swap = 0kB
Total swap = 2097144kB
这是我的托管环境。
VPS 托管帐户上有 2 个网站。
我经营一个主要的 WordPress 网站。我还是一名主题和插件开发人员,因此我有一个托管在显示“演示”WordPress 主题的帐户上的第二个 WordPress 主题。
在我开发的最后五个插件中,我创建了一个包含在插件中的更新 API。这意味着插件的用户每天会 ping 我的服务器两次,以读取文本文件来检查插件是否有更新。
我的托管公司表示我应该尝试优化我的网站,这应该可以解决问题并升级到下一个级别的托管,即 2Gb RAM。
我正在尝试确定是什么导致了这些波动并使用所有资源。我正在开发“主”WordPress 网站,以尝试优化该网站。
我只是有几个问题需要寻找答案:
- 您认为为插件托管自己的 API 是个坏主意吗?这可能是导致问题的部分原因吗?
- 可能是所有数据库查询都导致网站崩溃。
- 使用查询 Twitter、Facebook 等社交网络插件是否会给网站资源带来很大负担?
我正在尝试做出决定是否要真正缩小网站规模并删除 API 还是仅升级到新的网络主机,这将花费更多的钱。
任何鼓励和帮助都将不胜感激。
答案1
通常很难猜测此类问题的确切原因,因此您应该采取“分而治之”的方法。开始逐个关闭插件以找出罪魁祸首。当您这样做时,生成测试工作负载以确定可能导致问题的代码部分。
由于在 VPS 环境中,您受到用于诊断的工具集的严格限制,因此如果您可以设置自己的小型测试服务器(例如在虚拟机中)并尝试在更受控制的环境中重复该问题,这将会有所帮助。