[PHP] php-fpm children數量設置
- 如何決定pm.max_children數量?
- free-memory = 機器空閑的記憶體
- avg-request-memory = request平均佔用多大的記憶體(或是用佔用記憶體最多那隻request去算)
- max_children數量 = free-memory / avg-request-memory
- 其他設定介紹:
- pm.start_servers:啟動php-fpm時的child processes數量
- pm.min_spare_servers:理想的child processes最小數量,通常會設定跟pm.start_servers一樣的數值
- pm.max_spare_servers:理想的child processes最大數量
- pm.max_requests:每個child process的最大連線數,達到後會kill掉
- 範例設置:
- 記憶體為4G,每個request會佔用100MB,那child processes數量大概可以訂在40
-
pm = dynamic pm.max_children = 40 pm.start_servers = 10 pm.min_spare_servers = 10 pm.max_spare_servers = 30
-
- 記憶體為4G,每個request會佔用100MB,那child processes數量大概可以訂在40