我有一个and服务器,目前托管两个Wordpress站点和一些基于java的协作软件。服务器拥有2G内存,目前正在使用大约1.8G可用内存。现在,这里正在进行的是一个几乎可以忽略不计流量的试点项目,所以我认为很明显,我需要更多的内存。
我想知道,如果我要发布它,我将如何预测我的记忆需求,根据它得到的流量。我在谷歌( Google )上闲逛过,我发现的东西有点脆弱。在计算服务器上的基本(无通信量)负载的函数时,是否应该使用一个很好的启发式方法?
作为参考,free -m的输出如下:
total used free shared buffers cached
Mem: 2048 1832 215 0 0 0
-/+ buffers/cache: 1832 215
Swap: 0 0 0在我看来,这看起来像实际使用的内存,而不是缓存或其他任何东西造成的幻觉。
我认为我的协作软件的需求需要进行实验测试,所以这里是free -m,没有运行该软件:
total used free shared buffers cached
Mem: 2048 1109 938 0 0 0
-/+ buffers/cache: 1109 938
Swap: 0 0 0 我的计划B来解决这个问题,就是给服务器增加一堆交换空间,给它一些流量,并根据交换使用的数量进行调整。我只是想知道,如果我想的是疯狂的话,是否有人有一个很好的经验法则来估计我应该在advance...or中规划多少内存。
事先非常感谢(我对此非常陌生)。
发布于 2013-11-08 20:51:47
答案基本上是:视情况而定。在您的具体情况下,您安装的站点的质量和效率可能会受到质疑。
例如,这周我在处理一台流量相对比较适中的服务器,但是占用了4GB的内存。在进行了代码审查之后--整个站点都在使用一个现成的CMS,类似于WordPress,但通过定制--我们发现了一个主要的瓶颈。一旦我们重新处理了这个问题,服务器现在平均每天使用大约2GB的RAM。内存使用量下降了50%!
我不建议像拆分服务器一样使用Ngnix和Apache。就用阿帕奇。平衡两台不同服务器的信任是不值得的。阿帕奇很好。但话虽如此,您应该在同一个框中考虑您的WordPress PHP站点与Java与MySQL的对比。根据我的经验,你应该做以下几件事:
KeepAlive设置,非常好用!但是,我认为它的MaxKeepAliveRequests设置为100,这是相当疯狂的。我通常将它设置为大约30个连接,使用一个2到3秒的小KeepAliveTimeout。关键是要让KeepAliveTimeout与速度相匹配,下载一个平均页面所需的速度与开销/慢度有一点空间。因此,如果页面在1秒内加载,则执行2秒的KeepAliveTimeout。memory_limit在您的php.ini,并确保它不高于必要。缺省值为6400万,但在许多情况下可以降低到3200万。关于MySQL调优,这需要几个星期的时间才能在一开始就确定下来。调优脚本的原因是基于实际通信量,MySQL查看。因此,您基本上可以让您的站点面向世界,等待2天(至少),运行调优脚本&然后再等几天再调一些。一周左右之后,您应该能够对MySQL进行调优,以尽可能好地使用您的设置。
https://serverfault.com/questions/551727
复制相似问题