"Php-Fpm"
- PHP-FPM:常駐 PHP worker 的程序管理與主要的調校旋鈕
說明 PHP-FPM 怎麼管理一群常駐的 PHP worker:pool 怎麼做到每個站台不同執行帳號、pm 的三種開程序策略、max_children 如何決定並發上限與請求排隊、max_requests 定期換掉 worker 控制記憶體、request_terminate_timeout 與 slowlog 怎麼處理跑太久的請求、status 頁怎麼讀,以及每一項對壓測數字的影響
- PHP-FPM(FastCGI Process Manager)
在 Nginx 或容器環境看到 php-fpm、9000 埠、pool 設定或 502 Bad Gateway,要知道 PHP-FPM 負責什麼、哪些設定決定並發與記憶體時
- OPcache 與程序壽命:編譯結果的快取在各種執行模型下的效果
說明 OPcache 快取的是什麼、它存在哪裡,以及為什麼它的效果取決於執行 PHP 的程序活多久:CGI 下命中次數永遠為零、PHP-FPM 的 worker 共用同一份快取;框架請求開與關 OPcache 的延遲差、memory_consumption 與 max_accelerated_files 的估算,以及部署新程式碼時 validate_timestamps 與 revalidate_freq 決定舊版還會執行多久
- 容器裡的 Nginx 與 PHP-FPM:拆成兩個容器與放進同一個容器的做法與各自的陷阱
說明把 Nginx 與 PHP-FPM 放進容器的兩種擺法:官方 php-fpm 映像檔替容器改掉的預設值(log 導向、clear_env、監聽位址、停機訊號),拆成兩個容器時程式碼要兩邊都有、否則靜態檔會被 PHP 回成 200 的 HTML,以及放進同一個容器時要自己處理的程序監看、停機訊號轉送與 FastCGI 的監聽範圍