我看到大多數答案認爲mod_php效率不高,因爲由於提供靜態文件(如this one),內存佔用量會更高。爲什麼mod_php比fastcgi效率低(php-fpm)
但我有不同的意見如下:
由於事實上,代碼節中fork()
ED進程共享,所以內存佔用斷言不應該持有。
我能想到的唯一原因是mod_php
是非線程安全的,因此web服務器只能爲每個請求創建子進程。
雖然在fastcgi模式下web服務器可以通過複用技巧提升性能,從而減少了開銷。
總之,mod_php的的缺點是不是它的內存佔用,但fork()
的開銷,但如果mod_php
可以thread_safe,fork()
不會是必要的,這將是最有效的解決方案來服務請求。
以上是我的看法,但不是100%確定。
是嗎?
我認爲Apache和PHP在mod_php中處於相同的進程,而不是單獨的進程。 – 2011-06-13 14:00:23
對不起,這是更糟糕的措辭問題..修復該段。 – Evert 2011-06-13 14:12:51
但我仍然不認爲這是原因,因爲在mod_php和fastcgi模式下,php和apache模塊總是在內存中,唯一的區別是juat他們在不同的進程中。也就是說,在fastcgi模式下,php工作進程也是持久的,而不是更短的一生。同樣,內存佔用不是問題。 – 2011-06-13 14:20:23