我有一個問題。 我擁有一個128mb vps的簡單博客,每天只有一百次點擊。 我已經安裝了nginx + php5-fpm。考慮到低訪問量和RAM,我決定將fpm設置爲1,並運行1個服務器。雖然我正在做我的隨機測試,例如通過超過30分鐘的http運行php腳本,我試圖在同一臺機器上打開該博客,並注意到該網站基本無法訪問。所以我去的配置和閱讀:php5-fpm兒童和請求
The number of child processes to be created when pm is set to 'static' and the
; maximum number of child processes to be created when pm is set to 'dynamic'.
; **This value sets the limit on the number of simultaneous requests that will be
; served**
什麼震撼了我最是我不知道,因爲我一直認爲一個PHP的孩子會在同一時間處理數百個請求像一個http服務器會做! 它是否正確? 例如,如果我啓動2個php-fpm子項並同時啓動2個「長腳本」,所有使用相同php後端的站點都將無法訪問?這是如何使用的? 你可能會認爲:-duh!一個PHP腳本(網頁)通常在100毫秒內處理 - ...毫無疑問,但如果您的頁面每個可能運行大約10秒,並且我有10個訪問者使用php-fpm與5臺服務器,只會接受每次同時有5個請求?他們會全部排隊還是會遇到超時?
我老實說,用Apache和mod_php在Windows中運行網站我從來沒有遇到過這些問題,因爲顯然這些限制並不適用於使用PHP的不同方式。
這也引出了另一個問題。如果我的file_1.php中有sleep(20)和file_2.php,只有echo,如果我用fastcgi機器運行file_1和file_2,則第二個文件將請求創建另一個服務器,以使用4MB RAM處理php請求。如果我對apache/mod_php執行相同的操作,則第二個文件將只使用30KB的RAM(在apache服務器中)。考慮到這個原因,爲什麼mod_php正在考慮「壞人」,如果使用的RAM實際上更少......我知道我錯過了這裏的大圖。
完美的解釋 –
您是否願意提供您的意見?謝謝http://stackoverflow.com/questions/10703976/why-does-apachemod-php-on-windows-require-low-ram-usage –
@timdev感謝您的詳細解釋:) – conceptdeluxe