我需要一个想法来解决我的服务器超载问题,我的服务器规格:
vCPU:1 个 vCPU
内存:2 GB
系统驱动器:40GB
操作系统:Linux Ubuntu 10.04 64位
软件:Apache、PHP、MySQL 和 Plesk 11
我使用命令 htop 检查服务器,结果显示 2000MB 的使用量中 1900MB 已用完,3000MB 中 1600MB 已交换。发生这种情况时,我的所有域(约 30 个)都无法加载,我无能为力。为了解决这个问题,我总是必须重启机器。
进程看起来正常,没有什么错误,只有少量 MySQL 和 psa(Plesk)。
在服务器上我有 10 个 WordPress 和大约 3 个其他 CMS 网站。
我是否真的需要更多 RAM 或者另一个 VPS?
请帮我选择...
答案1
如果交换空间超过 100MB,则需要更多内存。至少,这是我评估性能问题时使用的一般规则。
答案2
这取决于具体情况,一开始就多用一些内存(说实话多很多),一旦您的提供商为 VPS 提供的内存达到最大值,就添加另一个 VPS。然后您可以在这些实例之间进行负载平衡。另外,请确保您的磁盘能够跟上,I/O 是 VPS 的常见瓶颈。
答案3
正确配置所有服务,以便它们不会最终使用所有 RAM....
Apache:配置 mpm-prefork 并根据需要调整值
MySQL:正确配置所有缓冲区(InnoDB 缓冲池、keybuffer......)和最大线程。
找到完美匹配需要花费一些时间 - 每种设置都不同。但最终您可以从您的环境中获得最大性能。
(尽管如此,您仍然可以通过硬件来解决您的问题...;))