我有(只)512MB空余。 在我的VPS上运行的唯一的东西是PHP / MySQL,并在它的顶部的WordPress的。 没有邮件服务器或任何其他应用程序,只是Wordpress和LAMP堆栈。
如何决定给PHP和Wordpress多less内存? 现在PHP可以有128MB,增加多less安全量呢? 我试图谷歌的问题,但从来没有真正find任何答案。
TL; DR – 不要因为这个而限制你的记忆极限。 对于像WordPress这样的标准PHP应用程序来说,128MB是巨大的 ,应该足以满足90%的需求。
但是,这里有一些重要的事实:
根据max_memory选项的PHP文档 :
这将设置脚本允许分配的最大内存量(以字节为单位)。 这有助于防止在服务器上耗尽所有可用内存的编写不当的脚本。
一个重要的区别是这个设置没有设置可用于所有 PHP进程的内存量 – 它为一个 PHP进程设置了最大可用内存。
当Apache接收到一个PHP页面的请求时,它会分发一个PHP进程,一旦完成工作就会死亡。 在该请求期间使用的任何内存将被释放回操作系统,整个周期将在下一次请求时重新开始。
你不应该调整max_memory设置,除非你看到来自PHP本身的“内存不足”错误,而且通常只有当你:
如果您对调整性能感兴趣,则应该查看prefork模块中的Apache MaxClients和相关选项。
我通常会为内核和其他系统进程保留50MB,并为Apache和MySQL分配剩下的部分 – 有各种 在线 指南,详细说明如何做到这一点(我强烈build议您阅读),但总体思路是:
top并检查您的平均Apache进程使用了多less内存(这是RES列) MaxClients选项设置为这个数字。 注意我提到了上面的同时连接 ,而不是您网站上的访问者 。 这两个是不一样的。
正如克雷格·沃特森(Craig Watson)已经告诉的那样,如果不是真的有必要的话,你不应该搞乱PHP内存限制
无论如何,如果不对工作负载有深刻的理解,就无法正确确定服务器的大小。 我build议你模拟一个真实的负载,同时监视你的服务器资源分配/使用情况。
对于这个问题,对于任何生产服务器来说,512 MB是非常less的。 事实上,即使是testing目的,它们也是不够的。
你测量。 你在你的工作场所运行一个类似规格的虚拟机,并对其进行负载testing。 那么简单 鉴于任何一半的像样的平板电脑可以运行可视化,这也不是一个问题。