php 平滑重啟和快速重啟
“平滑重啟”和“快速重啟”是兩種不同的概念。
php-fpm的reload平滑重啟是指:假設128個php-cgi進程中有50個進程正在處理PHP程序,而剩餘的78個進程處於閑置狀態,php-fpm接到平滑重啟信號後,會kill掉78個閑置進程,然後新啟動128個進程,新請求交給新啟動的進程來處理,而那50個進程,隻有等到它們處理完自己當前正在執行的PHP程序後,才會被幹掉。
daetmontools的快速重啟:采用spawn-fcgi啟動php-cgi,使用shell腳本、daetmontools監控php-cgi,由shell腳本killall -9 php-cgi然後快速啟動php-cgi,雖然時間很短,但是,尚未處理完成的這50個進程會被強行殺掉。如果這些進程正在處理較為重要的任務,例如注冊、登陸、充值等業務,可能會造成用戶體驗、金錢上的損失。
最後更新:2017-01-04 22:34:51