nea*_*lob 8 memory web-server wordpress apache-2.2
我有一个网络服务器,目前托管着两个 Wordpress 站点和一些基于 Java 的协作软件。服务器有 2G 内存,目前使用了大约 1.8G 的可用内存。现在这里的内容几乎是一个试点项目,流量可以忽略不计,所以我认为很明显我将需要更多内存。
我想知道,如果我要发布它,我如何根据它获得的流量来预测我的内存需求。我在谷歌上四处寻找,我发现的东西有点脆弱。在根据服务器上的基本(无流量)负载计算内存需求时,是否应该使用一种很好的启发式方法?
作为参考,输出free -m
可以在下面看到:
total used free shared buffers cached
Mem: 2048 1832 215 0 0 0
-/+ buffers/cache: 1832 215
Swap: 0 0 0
Run Code Online (Sandbox Code Playgroud)
对我来说,这看起来像是实际使用的内存,并不是由于缓存或其他任何原因造成的错觉。
我认为我的协作软件的需求必须经过实验测试,所以这里free -m
没有运行该软件:
total used free shared buffers cached
Mem: 2048 1109 938 0 0 0
-/+ buffers/cache: 1109 938
Swap: 0 0 0
Run Code Online (Sandbox Code Playgroud)
我解决这个问题的计划 B 是向服务器添加一堆交换空间,为其提供一些流量并根据交换使用的数量进行调整。我只是想知道是否有人有一个很好的经验法则来估计我应该提前计划多少内存……或者我的想法是否疯狂。
非常感谢(我对此非常陌生)。
Gia*_*968 18
答案基本上是:视情况而定。在您的特定情况下,您安装的站点的质量和效率可能会受到质疑。
例如,本周我正在处理一个流量相对适中但占用 4GB 内存的服务器。在进行代码审查后——整个站点使用的是类似于 WordPress 的现成 CMS,但具有自定义功能——我们发现了一个主要瓶颈。一旦我们重新解决了这个问题,服务器现在平均每天使用大约 2GB 的 RAM。RAM 使用率下降 50%!
我不建议做一些像拆分服务器以使用 Ngnix 和 Apache 之类的事情。只需使用Apache。平衡两个不同服务器的配置的麻烦不值得边际收益。阿帕奇没问题。但这就是说,你应该在同一个盒子里考虑你的 WordPress PHP 站点、Java 应用程序和 MySQL。根据我的经验,您应该执行以下操作:
KeepAlive
Apache 中有一个非常有效的设置!但是开箱即用,我相信它设置为MaxKeepAliveRequests
100,这是相当疯狂的。我通常将其设置为大约 30 个连接,一小段时间KeepAliveTimeout
为 2 到 3 秒。关键是KeepAliveTimeout
要使下载平均页面所需的速度与开销/缓慢的空间相匹配。因此,如果页面在 1 秒内加载,请执行KeepAliveTimeout
2 秒。memory_limit
您的php.ini
并确保它不高于必要值。默认是64M,但很多情况下可以降到32M。关于 MySQL 调优,一开始可能需要几周时间才能确定下来。调整脚本的原因是基于 MySQL 看到的真实流量。所以你基本上让你的网站向全世界展示,等待 2 天(至少),运行调整脚本,然后再等几天再调整一些。一周左右后,您应该能够调整 MySQL 使其与您的设置一样正常工作。
归档时间: |
|
查看次数: |
17459 次 |
最近记录: |