我明白,这两个模块之间有一个比较的主题,但这是不同的。
我正在联系cPanel支持,以帮助我释放VPS上的一些内存使用情况。 他们发现Apache 2.4的'httpd'subprocess使用了大约80MB的RSS,而在他们的testing服务器上,类似的Apache 2.4 build只使用了大约3MB的RSSsubprocess。
在讨论这个问题一段时间后,他们build议在Apache 2.4中转换到Worker MPM,而不是使用Prefork。
我search他们所说的话,发现Worker MPM使用较less的内存,但它不是线程安全的。 在网站上的其他一些话题告诉工人不会使用PHP应用程序或mod_php。 我不确定这是否正确。
我太困惑了,我该怎么办? 我有我的帐户上运行的PHP脚本,不想打断他们或数据损坏。
你有什么build议家伙? 切换到Worker MPM是否可以在不中断php应用程序的情况下解决内存不足的问题?
有什么解决scheme关于Apache的使用? 由于80MB RSS与3MB RSS相比太高。
如果必须使用PHP作为Apache模块,则应该使用Prefork,因为如您所说,默认情况下PHP被编译为非线程安全,而Worker MPM正在使用线程。
如果您可以使用PHP作为FastCgi(PHP-FPM),则可以使用Worker MPM。
顺便说一句现在部署PHP的最好方法是使用Nginx和PHP-FPM。