我该如何处理所有可用内存?

我该如何处理所有可用内存?

我有一个奇怪的问题。我有一个小型网店,规模不大,每天大概只有 20 位访客,每周只有几笔订单。我可能会稍微扩大一下规模,但我怀疑它不会变得很大。

无论如何,我的问题是我遇到了一款非常便宜的 VPS,它有大约 6GB 内存和 6 个内核。现在我拥有的这款 VPS 的性能远远超出了我的实际需要。

现在回到我的问题。我在其上运行 CentOS、nginx、php-fpm 和 mysql,运行良好,但由于我实际上不需要那么多 RAM 来处理,我怎样才能让我的 VPS 消耗更多 RAM 来提高速度?你能给我一些大致的建议吗?谢谢!

答案1

让 Linux 使用它来缓存文件,它会自动执行此操作。这个问题讨论了如何让 Linux 更努力地做到这一点: https://unix.stackexchange.com/questions/30286/can-i-configure-my-linux-system-for-more-aggressive-file-system-caching

但你可能不需要。

或者,您可以使用 memcached 来加速常见查询,但这会使您的系统更加复杂... 相当复杂。

好的座右铭是:如果它没坏,就不要修理它。

答案2

除了汤姆的回答之外......如果您还没有使用操作码缓存,那么请获取一个(这实际上可以减少您的内存使用量 - 但它会让速度更快!)

确保已经在 MySQL 上启用了查询缓存,并为缓冲区分配了大量空间 - 这是一个非常复杂的主题,需要在此介绍 - 但针对 DBMS 运行 mysqltuner.pl 应该会标记出任何具有明显性能优势的区域。

答案3

如果确实需要担心,可以将部分客户端处理任务转移回服务器。这种情况与我们大多数人所学的相反,但如果客户端体验的某些方面允许这样做并因此得到改善,那么在这种情况下,这可能是正确的做法。

也许客户端会进行大量数据操作或排序,而这些操作或排序不需要往返处理。如果您想要优化利用率,并且觉得可以在服务器上处理更大的工作量而不会产生明显后果,那么这可能是将这些数据拉回到服务器的候选区域。

答案4

让服务器更快本身是没有意义的。如果你指的是让访问者的体验更快,我会说:假设你的操作系统 100% 高效,你的网络链接将成为瓶颈,并且不会比服务器更快。所以,去让更多的客户托管在这台服务器上吧!

相关内容