0

我的 VPS 有问题。

我们正在使用 VPS 来运行我们的 CMS 和我们的网站,目前我们有 300MB 的内存限制,现在我们即将达到限制。

为了保持低成本(我知道,增加内存并不是很贵),但如果我找到一个优化我们所拥有的解决方案,会更好。

我能做些什么?

谢谢!

4

4 回答 4

3

我建议增加内存 - 更多内存,更快的网站 :-) 但是如果速度不重要,减少所有缓存大小,将 php memory_limit 设置为 8M,禁用操作码缓存(APC,eAccelerator)或尝试将 Raspberry Pi 作为服务器,现在来了512MB :-)

于 2012-11-15T00:04:32.420 回答
2

我有一个 256MB 的小型 vps,它使用 apache + php + mariadb (mysqld)

我发现对于一个简单的 wordpress 页面,每次请求 20MB 时,apache 都会吞噬内存。它会安定下来,但随着时间的推移会吞噬交换空间并让一切变得缓慢。我怀疑有办法微调 mpm_event 和 mpm_worker 以停止进入交换,但我不知道如何。

在如此紧凑的环境中工作时,重要的是要知道什么正在使用什么内存并减少所有内容,以便最大限度地减少交换。

下面是我所做的总结,我设法获得了 100MB 的物理空间用于调整,这不是一个负载很重的服务器,但需要可访问(并且便宜):

  • 使用 slackware(操作系统和默认服务似乎比 debian 使用更少的内存,也许我的提供程序图像上默认加载的更少)
  • 关闭 mysqld innodb 表并使用 myisam
  • 如果相关,配置 mysqld 以减少缓存大小
  • 安装 cms 新鲜,所以他们肯定在使用 myisam 或更改所有表

  • 在 apache 中选择使用 mod_mpm_prefork 而不是 mpm_event 和 mpm_worker (“apachectl -V”会告诉你正在使用哪个)

  • 为 maxserver 设置合理的值(从服务器和请求数量的低值开始,然后进行处理)

  • 在通过 ssh 执行“免费观看”或“顶部”时测试负载下的服务器

  • 随着负载的增加,您应该能够看到内存和正在创建和销毁的进程
  • 调整您的 httpd 服务器设置并重新测试直到满意

  • 我希望看到最大内存不超过 90%,并在负载消失时减少内存,然后我确信它会保持不变而不会停止(开始使用交换)。

  • 检查您的 php.ini 内存设置,如另一个答案中所述。

  • 我还设置了一个 cron 作业,以便在交换开始大量使用时向我发送电子邮件,因此如果我找不到使用内存的内容,我可以重新启动某些东西甚至重新启动整个服务器,这种情况应该越来越少发生更多你微调。

如前所述,这不是一个在重负载下表现良好的环境,但成本对您来说可能更重要。

就我的两便士值...

于 2015-05-12T09:59:13.587 回答
1

我会像推荐的 Concerto49 一样查看 Nginx,如果您只有一个网站,也可以考虑 Litespeed (www.litespeedtech.com),他们有一个免费版本,可能足以为您的网站提供动力。

如果它是基于 PHP 的,那么去掉所有你不使用的东西。使用 APC/XCache 处理每个请求。Nginx 也有一个缓存模块,它可以帮助你避免在每个请求仍然新鲜的情况下点击 PHP。

于 2012-12-30T18:59:20.450 回答
-1

它是什么类型的 VPS?OpenVZ?冼?虚拟机?如果是 OpenVZ,它有 VSwap 或 Burst 内存吗?

您正在运行什么类型的 CMS / 网站?它是基于 PHP 的吗?你在用阿帕奇吗?如果是这样,您是否尝试过 nginx?我会考虑优化 Web 服务器组件并删除未使用的进程/应用程序以减少内存并提高性能。

于 2012-11-16T01:43:15.880 回答