我的VPS存在问题。
我们正在使用VPS运行我们的CMS和我们的网站,目前我们有300MB内存限制,现在我们已接近达到限制。
保持低成本(我知道,增加内存并不是太昂贵),但如果我找到优化我们所拥有的解决方案,那就更好了。
我该怎么办?
谢谢!
答案 0 :(得分:3)
我建议增加内存 - 更多内存,更快的网站:-) 但是如果速度不重要,减少所有缓存大小,将php memory_limit设置为8M,禁用操作码缓存(APC,eAccelerator) 或尝试使用Raspberry Pi作为服务器,现在配备512MB: - )
答案 1 :(得分:2)
我有一个小的256MB vps使用 apache + php + mariadb(mysqld)
我发现在一个简单的wordpress页面,每次请求20MB时,内存都会被apache吞噬。它会解决,但随着时间的流逝吞噬交换空间,让所有东西慢慢爬行。我怀疑有很多方法可以微调mpm_event和mpm_worker来停止进入交换但是我没弄明白怎么做。
在如此紧张的环境中工作时,了解使用什么内存并减少所有内容非常重要,这样才能最大限度地减少交换。
我所做的总结如下,我设法获得100MB的物理空间进行调整,这不是一个负载很重的服务器,但需要可访问(并且便宜):
安装cms fresh所以他们肯定使用myisam或更改所有表格
选择使用mod_mpm_prefork而不是mpm_event和mpm_worker(“apachectl -V”会告诉你正在使用哪个)
为maxserver设置合理值(从服务器和请求数量的低值开始并开始工作)
在负载下测试服务器,同时通过ssh“免费观看”或“顶部”
调整您的httpd服务器设置并重新测试,直到开心
我希望看到内存最大不超过90%并且在负载消失之前减少回落,然后我确信它会保持不动而不停止(开始使用交换)。
检查你的php.ini内存设置,如另一个答案中所述。
我还设置了一个cron作业,当交换开始大量使用时给我发电子邮件,所以我可以重新启动一些东西,甚至重新启动整个服务器,如果我找不到已经使用过的内存,这个应该越来越少,你调得越多越好。
如上所述,这不是一个在重负荷下表现良好的环境,但成本可能对您来说更重要。
只是我的两便士...
答案 2 :(得分:1)
我会像推荐的Concerto 49一样看Nginx,如果你只有一个网站也考虑Litespeed(www.litespeedtech.com),他们有一个免费版本可能足以支持你的网站。
如果基于PHP,则删除您未使用的所有内容。使用APC / XCache处理每个请求。 Nginx还有一个缓存模块,它可以提供帮助,因此如果它仍然新鲜,你可以避免为每个请求点击PHP。
答案 3 :(得分:-1)
它是什么类型的VPS? OpenVZ的? Xen的? KVM?如果它是OpenVZ它有VSwap还是Burst内存?
您在运行什么类型的CMS /网站?它是基于PHP吗?你在使用Apache吗?如果是这样你试过nginx?我将着眼于优化Web服务器组件并删除未使用的进程/应用程序以减少内存并提高性能。