PHP内存限制对Apache2工作人员的影响

正如你会猜到我有一个服务器设置与mod_php和Apache2(prefork)与APC。 该网站每天接收的体积量最多的同时是280-290用户。 几天前,我开始注意到PHP的“不能分配内存”问题,这在低stream量时不会发生。

一般的解决scheme是在PHP.ini文件中增加PHP的内存限制。 我想知道当我增加内存限制时,这将如何影响性能和整体可伸缩性。

服务器容量:8GB内存,四核酷睿i7(920)

     StartServers 80
     MinSpareServers 40
     MaxSpareServers 60
     MaxClients 250
     MaxRequestsPerChild 200

一般的解决scheme是增加PHP的内存限制

在某些情况下,这可能是正确的解决scheme,但是您没有提供任何分析细节。 你不知道增加内存限制的后果意味着你对问题原因的分析可能是错误的。

无论是原始的还是循环引用的检查GC,增加内存限制都会减less垃圾收集的频率,导致更多的垃圾被留在内存中。 结果(在某些情况下)是增加了记忆饥饿问题。

你还没有提供任何关于你的系统使用多less资源/有多less可用的真实信息。

280-290位用户

这一指标与容量/性能几乎无关。

注意我并不是要求你提供更全面的分析所需要的信息 – 作出明智的build议,这是非常多的,比任何时候在这里的职位都要多。

简短的答案是尝试一下,看看你的performance/错误发生了什么。

更长的答案是,你可能想看看其他地方 – 在你的代码/压缩/caching。