เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเตเดฑเตเด™เตเด™เตเด•เดณเตเด‚ เดคเดจเตเดคเตเดฐเด™เตเด™เดณเตเด‚: NGINX, PHP-FPM เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ

Kubernetes-เตฝ CI/CD เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดตเตเดฏเดตเดธเตเดฅ: เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดฟเตผเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เดฎเตเดฎเตเดชเต เดชเตเดคเดฟเดฏ เด•เตเดฒเดฏเดจเตเดฑเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต เด•เดดเดฟเดฏเดฃเด‚, เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเดฟ, เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณเดต เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏเดฟ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เตเด•.

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเตเดฑเตเด™เตเด™เตเด•เดณเตเด‚ เดคเดจเตเดคเตเดฐเด™เตเด™เดณเตเด‚: NGINX, PHP-FPM เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ

เดˆ เดตเตเดฏเดตเดธเตเดฅ เดชเดพเดฒเดฟเด•เตเด•เตเดจเตเดจเดคเต เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเดคเตเดคเต เดชเต‚เดœเตเดฏเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดตเดณเดฐเต† เดœเดจเดชเตเดฐเดฟเดฏเดฎเดพเดฏ เดฌเดฃเตเดŸเดฟเดฒเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดชเต‹เดฒเตเด‚ (NGINX, PHP-FPM เดชเต‹เดฒเตเดณเตเดณเดต), เด“เดฐเต‹ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดฒเตเด‚ เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เด•เตเดคเดฟเดšเตเดšเตเดšเดพเดŸเตเดŸเดคเตเดคเดฟเดจเต เด•เดพเดฐเดฃเดฎเดพเด•เตเดจเตเดจ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด•เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดจเต‡เดฐเดฟเดŸเดพเด‚...

เดธเดฟเดฆเตเดงเดพเดจเตเดคเด‚. เดชเต‹เดกเต เดŽเด™เตเด™เดจเต† เดœเต€เดตเดฟเด•เตเด•เตเดจเตเดจเต

เด’เดฐเต เดชเต‹เดกเดฟเดจเตเดฑเต† เดœเต€เดตเดฟเดค เดšเด•เตเดฐเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต เดˆ เดฒเต‡เด–เดจเด‚. เดชเดฐเดฟเด—เดฃเดจเดฏเดฟเดฒเตเดณเตเดณ เดตเดฟเดทเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดชเดถเตเดšเดพเดคเตเดคเดฒเดคเตเดคเดฟเตฝ, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดตเดฏเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต: เดชเต‹เดกเต เดธเด‚เดธเตเดฅเดพเดจเดคเตเดคเต เดชเตเดฐเดตเต‡เดถเดฟเด•เตเด•เตเดจเตเดจ เดจเดฟเดฎเดฟเดทเดคเตเดคเดฟเตฝ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เดชเตเดคเดฟเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด‡เดคเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเตเดจเตเดจเต (pod เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดคเต เดธเต‡เดตเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เด…เดตเดธเดพเดจ เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด•เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต). เด…เดคเดฟเดจเดพเตฝ, เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเดคเตเดคเต เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเดฏ เดธเดฎเดฏเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดถเดฐเดฟเดฏเดพเดฏเดฟ เดจเดฟเตผเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด‡เดคเต เดฎเดคเดฟเดฏเดพเด•เตเด‚.

เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เด—เตเดฐเต‡เดธเต เดชเดฟเดฐเต€เดกเต เด†เดฃเต†เดจเตเดจเตเด‚ เดจเดฟเด™เตเด™เตพ เด“เตผเด•เตเด•เดฃเด‚ 30 เดธเต†เด•เตเด•เตปเดกเต: เด‡เดคเดฟเดจเตเดถเต‡เดทเด‚, เดชเต‹เดกเต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚, เดˆ เด•เดพเดฒเดฏเดณเดตเดฟเดจเต เดฎเตเดฎเตเดชเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เด…เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต เดธเดฎเดฏเดฎเตเดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เด…เดญเดฟเดชเดพเดฏเดชเตเดชเต†เดŸเตเด•: 5-10 เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เด•เต‚เดŸเตเดคเตฝ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเดจเตเดจ เดเดคเตŠเดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเตเด‚ เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดชเตเดฐเดถเตโ€Œเดจเดฎเตเดณเตเดณเดคเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚, เดญเด‚เด—เดฟเดฏเตเดณเตเดณ เดทเดŸเตเดŸเตเดกเต—เตบ เด‡เดจเดฟ เด…เดคเดฟเดจเต† เดธเดนเดพเดฏเดฟเด•เตเด•เดฟเดฒเตเดฒ...

เด’เดฐเต เดชเต‹เดกเต เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดจเตเดจเดพเดฏเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดกเดฏเด—เตเดฐเด‚ เดจเต‹เด•เตเด•เตเด•:

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเตเดฑเตเด™เตเด™เตเด•เดณเตเด‚ เดคเดจเตเดคเตเดฐเด™เตเด™เดณเตเด‚: NGINX, PHP-FPM เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ

A1, B1 - เด…เดŸเตเดชเตเดชเดฟเดจเตเดฑเต† เด…เดตเดธเตเดฅเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต
A2 - เดชเตเดฑเดชเตเดชเต†เดŸเตฝ SIGTERM
B2 - เด…เดตเดธเดพเดจ เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดฐเต เดชเต‹เดกเต เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต
B3 - เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต (เด…เดตเดธเดพเดจ เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เดณเตเดŸเต† เดชเดŸเตเดŸเดฟเด• เดฎเดพเดฑเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต)
B4 - iptables เดจเดฟเดฏเดฎเด™เตเด™เตพ เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•

เดฆเดฏเดตเดพเดฏเดฟ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•: เดŽเตปเดกเตโ€Œเดชเต‹เดฏเดฟเดจเตเดฑเต เดชเต‹เดกเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเดคเตเด‚ SIGTERM เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเดคเตเด‚ เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏเดฟ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเดฒเตเดฒ, เดธเดฎเดพเดจเตเดคเดฐเดฎเดพเดฏเดพเดฃเต. เดŽเตปเดกเตโ€Œเดชเต‹เดฏเดฟเดจเตเดฑเตเด•เดณเตเดŸเต† เดชเตเดคเตเด•เตเด•เดฟเดฏ เดฒเดฟเดธเตเดฑเตเดฑเต เด‡เตปเด—เตเดฐเดธเดฟเดจเต เด‰เดŸเดจเดŸเดฟ เดฒเดญเดฟเด•เตเด•เดพเดคเตเดคเดคเดฟเดจเดพเตฝ, เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดชเตเดคเดฟเดฏ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเต‹เดกเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตโ€Œเด•เตเด•เตเด‚, เด‡เดคเต เดชเต‹เดกเต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ 500 เดชเดฟเดถเด•เดฟเดจเต เด•เดพเดฐเดฃเดฎเดพเด•เตเด‚. (เดˆ เดชเตเดฐเดถเตเดจเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏ เดตเดฟเดตเดฐเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ, เดžเด™เตเด™เตพ เดชเดฐเดฟเดญเดพเดทเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ). เดˆ เดชเตเดฐเดถเตเดจเด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเต€เดคเดฟเด•เดณเดฟเตฝ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

  • เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ เด•เดฃเด•เตเดทเตป: เดชเตเดฐเดคเดฟเด•เดฐเดฃ เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เดณเดฟเตฝ เด…เดŸเดฏเตเด•เตเด•เตเด• (เด‡เดคเต เด’เดฐเต HTTP เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดพเดฃเต†เด™เตเด•เดฟเตฝ).
  • เด•เต‹เดกเดฟเตฝ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เด•เตƒเดคเตเดฏเดธเดฎเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเด‚ เดตเดฐเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฒเต‡เด–เดจเด‚ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดธเดฟเดฆเตเดงเดพเดจเตเดคเด‚. NGINX, PHP-FPM เดŽเดจเตเดจเดฟเดต เด…เดตเดฐเตเดŸเต† เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เตพ เดŽเด™เตเด™เดจเต† เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

NGINX

NGINX-เตฝ เดจเดฟเดจเตเดจเต เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚, เด•เดพเดฐเดฃเด‚ เดŽเดฒเตเดฒเดพเด‚ เด•เต‚เดŸเตเดคเดฒเต‹ เด•เตเดฑเดตเต‹ เดตเตเดฏเด•เตเดคเดฎเดพเดฃเต. เดธเดฟเดฆเตเดงเดพเดจเตเดคเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เด•เดŸเด•เตเด•เตเดฎเตเดชเต‹เตพ, NGINX-เดจเต เด’เดฐเต เดชเตเดฐเดงเดพเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเด‚ เดจเดฟเดฐเดตเดงเดฟ "เดคเตŠเดดเดฟเดฒเดพเดณเดฟเด•เดณเตเด‚" เด‰เดฃเตเดŸเต†เดจเตเดจเต เดžเด™เตเด™เตพ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต - เด‡เดต เด•เตเดฒเดฏเดจเตเดฑเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจ เดšเตˆเตฝเดกเต เดชเตเดฐเต‹เดธเดธเตเดธเตเด•เดณเดพเดฃเต. เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏ เด’เดฐเต เด“เดชเตเดทเตป เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต: เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต nginx -s <SIGNAL> เดตเต‡เด—เดคเตเดคเดฟเดฒเตเดณเตเดณ เดทเดŸเตเดŸเตเดกเต—เตบ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดฎเต‹เดกเดฟเตฝ เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เตพ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเด•. เดตเตเดฏเด•เตเดคเดฎเดพเดฏเตเด‚, เดžเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดณเตเดณ เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต† เด“เดชเตเดทเดจเดพเดฃเต เด‡เดคเต.

เด…เดชเตเดชเต‹เตพ เดŽเดฒเตเดฒเดพเด‚ เดฒเดณเดฟเดคเดฎเดพเดฃเต: เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต เดชเตเดฐเต€เดธเตเดฑเตเดฑเต‹เดชเตเดชเต-เดนเตเด•เตเด•เต เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เด’เดฐเต เดทเดŸเตเดŸเตเดกเต—เตบ เดธเดฟเด—เตเดจเตฝ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด•เดฎเดพเตปเดกเต. เด‡เดคเต เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเตฝ, เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดฌเตเดฒเต‹เด•เตเด•เดฟเตฝ เดšเต†เดฏเตเดฏเดพเด‚:

       lifecycle:
          preStop:
            exec:
              command:
              - /usr/sbin/nginx
              - -s
              - quit

เด‡เดชเตเดชเต‹เตพ, เดชเต‹เดกเต เดทเดŸเตเดŸเต เดกเต—เตบ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, NGINX เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดจเดฎเตเดฎเตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เด•เดพเดฃเตเด‚:

2018/01/25 13:58:31 [notice] 1#1: signal 3 (SIGQUIT) received, shutting down
2018/01/25 13:58:31 [notice] 11#11: gracefully shutting down

เดžเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเดพเดฃเต เดตเต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เด‡เดคเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเด‚: เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ NGINX เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเต† เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด•เดฎเดพเตปเดกเดฟเดจเต‹เดŸเตŠเดชเตเดชเด‚ เดชเต‹เดฒเตเด‚ เด’เดฐเต เดชเตŠเดคเต เดชเตเดฐเดถเตเดจเด‚ เดžเด™เตเด™เตพ เดšเตเดตเดŸเต† เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเด‚ nginx -s quit เดชเตเดฐเด•เตเดฐเดฟเดฏ เดคเต†เดฑเตเดฑเดพเดฏเดฟ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต.

เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพ NGINX เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟ: เด•เตเดฑเดžเตเดžเดคเต เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต†เด™เตเด•เดฟเดฒเตเด‚ เดŽเดฒเตเดฒเดพเด‚ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚.

PHP-FPM-เดฎเดพเดฏเดฟ เดŽเดจเตเดคเดพเดฃเต เด‡เดŸเดชเดพเดŸเต? เดญเด‚เด—เดฟเดฏเตเดณเตเดณ เดทเดŸเตเดŸเตเดกเต—เตบ เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต เด‡เดคเต เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต? เดจเดฎเตเด•เตเด•เต เด…เดคเต เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เดพเด‚.

PHP-FPM

PHP-FPM-เดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด•เตเดฑเดšเตเดšเต เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เตเดฑเดตเดพเดฃเต. เดจเดฟเด™เตเด™เตพ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ เด”เดฆเตเดฏเต‹เด—เดฟเด• เดฎเดพเดจเตเดตเตฝ PHP-FPM เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ POSIX เดธเดฟเด—เตเดจเดฒเตเด•เตพ เดธเตเดตเต€เด•เดฐเดฟเดšเตเดšเดคเดพเดฏเดฟ เด…เดคเต เดชเดฑเดฏเตเด‚:

  1. SIGINT, SIGTERM - เดซเดพเดธเตเดฑเตเดฑเต เดทเดŸเตเดŸเตเดกเต—เตบ;
  2. SIGQUIT - เดญเด‚เด—เดฟเดฏเตเดณเตเดณ เดทเดŸเตเดŸเตเดกเต—เตบ (เดจเดฎเตเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณเดคเต).

เดˆ เดŸเดพเดธเตเด•เตเด•เดฟเตฝ เดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจ เดธเดฟเด—เตเดจเดฒเตเด•เตพ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ, เด…เดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เด…เดตเดฐเตเดŸเต† เดตเดฟเดถเด•เดฒเดจเด‚ เด’เดดเดฟเดตเดพเด•เตเด•เตเด‚. เดชเตเดฐเด•เตเดฐเดฟเดฏ เดถเดฐเดฟเดฏเดพเดฏเดฟ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเตเดฐเต€เดธเตเดฑเตเดฑเต‹เดชเตเดชเต เดนเตเด•เตเด•เต เดŽเดดเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

        lifecycle:
          preStop:
            exec:
              command:
              - /bin/kill
              - -SIGQUIT
              - "1"

เด’เดฑเตเดฑเดจเต‹เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดฐเดฃเตเดŸเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเดฟเดฒเตเด‚ เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดจเดŸเดคเตเดคเดพเตป เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดšเตเดฎเดคเดฒ เดคเต‹เดจเตเดจเตเดจเตเดจเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเดพเดฃเต. เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเดคเตเดคเดคเตเด‚ เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเดคเตเดคเต เดชเตเดฐเต‹เดœเด•เตโ€Œเดฑเตเดฑเดฟเดจเตเดฑเต† เดนเตเดฐเดธเตเดตเด•เดพเดฒ เดฒเดญเตเดฏเดคเด•เตเด•เตเดฑเดตเดฟเดจเต เด•เดพเดฐเดฃเดฎเดพเดฏเดคเตเดฎเดพเดฏ เดฐเดฃเตเดŸเต เด•เต‡เดธเตเด•เตพ เดšเตเดตเดŸเต†เดฏเตเดฃเตเดŸเต.

เดชเดฐเดฟเดถเต€เดฒเดฟเด•เตเด•เตเด•. เด—เด‚เดญเต€เดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เด•เตŠเดฃเตเดŸเต เดธเดพเดงเตเดฏเดฎเดพเดฏ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ

NGINX

เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เด“เตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเต เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเดฃเต: เด•เดฎเดพเตปเดกเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต เดชเตเดฑเดฎเต‡ nginx -s quit เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸ เด’เดฐเต เด˜เดŸเตเดŸเด‚ เด•เต‚เดŸเดฟเดฏเตเดฃเตเดŸเต. SIGQUIT เดธเดฟเด—เตเดจเดฒเดฟเดจเต เดชเด•เดฐเด‚ NGINX เด‡เดชเตเดชเต‹เดดเตเด‚ SIGTERM เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเดถเตโ€Œเดจเด‚ เดžเด™เตเด™เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเต, เด‡เดคเต เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เดพเดคเตเดคเดคเดฟเดจเต เด•เดพเดฐเดฃเดฎเดพเด•เตเดจเตเดจเต. เดธเดฎเดพเดจเดฎเดพเดฏ เด•เต‡เดธเตเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เด•เดดเดฟเดฏเตเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด‡เดตเดฟเดŸเต†. เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดˆ เดธเตเดตเดญเดพเดตเดคเตเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดคเตเดฏเต‡เด• เด•เดพเดฐเดฃเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด•เดดเดฟเดžเตเดžเดฟเดฒเตเดฒ: NGINX เดชเดคเดฟเดชเตเดชเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เด’เดฐเต เดธเด‚เดถเดฏเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด…เดคเต เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. NGINX เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดธเดจเตเดฆเต‡เดถเด™เตเด™เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเดšเตเดšเดคเดพเดฃเต เดฒเด•เตเดทเดฃเด‚: "เด•เดฃเด•เตเดทเตป 10-เตฝ เด“เดชเตเดชเตบ เดธเต‹เด•เตเด•เดฑเตเดฑเต #5 เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเต", เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เดชเต‹เดกเต เดจเดฟเตผเดคเตเดคเดฟ.

เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดชเตเดฐเดถเตเดจเด‚ เดจเดฎเตเด•เตเด•เต เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดžเด™เตเด™เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เด‡เตปเด—เตเดฐเต†เดธเต เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดš เดชเตเดฐเดคเดฟเด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต:

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเตเดฑเตเด™เตเด™เตเด•เดณเตเด‚ เดคเดจเตเดคเตเดฐเด™เตเด™เดณเตเด‚: NGINX, PHP-FPM เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ
เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเดคเตเดคเต เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต เด•เต‹เดกเตเด•เดณเตเดŸเต† เดธเต‚เดšเด•เด™เตเด™เตพ

เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, Ingress-เตฝ เดจเดฟเดจเตเดจเต เดคเดจเตเดจเต† เดžเด™เตเด™เตพเด•เตเด•เต 503 เดชเดฟเดถเด•เต เด•เต‹เดกเต เดฎเดพเดคเตเดฐเดฎเต‡ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเตเดณเตเดณเต‚: เด…เดคเดฟเดจเต NGINX เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เด‡เดคเต เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. NGINX เด‰เดณเตเดณ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดฒเต‹เด—เตเด•เตพ เดจเดฟเด™เตเด™เตพ เดจเต‹เด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด…เดตเดฏเดฟเตฝ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต:

[alert] 13939#0: *154 open socket #3 left in connection 16
[alert] 13939#0: *168 open socket #6 left in connection 13

เดธเตเดฑเตเดฑเต‹เดชเตเดชเต เดธเดฟเด—เตเดจเตฝ เดฎเดพเดฑเตเดฑเดฟเดฏ เดถเต‡เดทเด‚, เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดจเดฟเตผเดคเตเดคเดพเตป เดคเตเดŸเด™เตเด™เตเดจเตเดจเต: 503 เดชเดฟเดถเด•เต เด‡เดจเดฟ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ เดŽเดจเตเดจ เดตเดธเตเดคเตเดค เด‡เดคเต เดธเตเดฅเดฟเดฐเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เดชเตเดฐเดถเตเดจเด‚ เดจเต‡เดฐเดฟเดŸเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเตฝ เดŽเดจเตเดคเต เดธเตเดฑเตเดฑเต‹เดชเตเดชเต เดธเดฟเด—เตเดจเตฝ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเตเดตเต†เดจเตเดจเตเด‚ เดชเตเดฐเต€เดธเตเดฑเตเดฑเต‹เดชเตเดชเต เดนเตเด•เตเด•เต เดŽเด™เตเด™เดจเต†เดฏเดพเดฃเต†เดจเตเดจเตเด‚ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเต เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเต. เด•เดพเดฐเดฃเด‚ เด‡เดคเดฟเตฝ เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เดพเตป เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดŸเต.

PHP-FPM... เด•เต‚เดŸเดพเดคเต† เดฎเดฑเตเดฑเต เดชเดฒเดคเตเด‚

เดชเดฟโ€ŒเดŽเดšเตเดšเตโ€Œเดชเดฟ-เดŽเดซเตโ€Œเดชเดฟโ€ŒเดŽเดฎเตเดฎเตเดฎเดพเดฏเตเดณเตเดณ เดชเตเดฐเดถเตเดจเด‚ เดจเดฟเดธเตเดธเดพเดฐเดฎเดพเดฏ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต: เด‡เดคเต เดšเตˆเตฝเดกเต เดชเตเดฐเต‹เดธเดธเตเด•เดณเตเดŸเต† เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เด…เดคเต เด…เดตเดฐเต† เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเดฒเดพเดฃเต เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดฒเตเด‚ เดฎเดฑเตเดฑเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเดฟเดฒเตเด‚ 502 เดชเดฟเดถเด•เตเด•เตพ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต. 2005 เดฎเตเดคเตฝ bugs.php.net-เตฝ เดจเดฟเดฐเดตเดงเดฟ เดฌเด—เต เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เตพ เด‰เดฃเตเดŸเต (เด‰เดฆเดพ เด‡เดตเดฟเดŸเต† ะธ เด‡เดตเดฟเดŸเต†), เดˆ เดชเตเดฐเดถเตเดจเด‚ เดตเดฟเดตเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดŽเดจเตเดจเดพเตฝ เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดจเดฟเด™เตเด™เตพ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เด’เดจเตเดจเตเด‚ เด•เดพเดฃเดพเดจเดฟเดŸเดฏเดฟเดฒเตเดฒ: PHP-FPM เด…เดคเดฟเดจเตเดฑเต† เดชเตเดฐเด•เตเดฐเดฟเดฏเดฏเตเดŸเต† เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเด‚ เดชเดฟเดดเดตเตเด•เดณเต‹ เดฎเต‚เดจเตเดจเดพเด‚ เด•เด•เตเดทเดฟ เด…เดฑเดฟเดฏเดฟเดชเตเดชเตเด•เดณเต‹ เด‡เดฒเตเดฒเดพเดคเต† เดชเตเดฐเด–เตเดฏเดพเดชเดฟเด•เตเด•เตเด‚.

เดชเตเดฐเดถเตเดจเด‚ เดคเดจเตเดจเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเต†เดคเตเดคเดจเตเดจเต† เดšเต†เดฑเตเดคเต‹ เดตเดฒเตเดคเต‹ เด†เดฏ เดชเดฐเดฟเดงเดฟเดตเดฐเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเตเด‚ เด…เดคเต เดธเตเดตเดฏเด‚ เดชเตเดฐเด•เดŸเดฎเดพเด•เดฟเดฒเตเดฒเต†เดจเตเดจเตเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดจเดฟเดฐเต€เด•เตเดทเดฃเดคเตเดคเดฟเตฝ. เดจเดฟเด™เตเด™เตพ เด…เดคเต เดจเต‡เดฐเดฟเดŸเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด’เดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฃเต เด†เดฆเตเดฏเด‚ เดฎเดจเดธเตเดธเดฟเตฝ เดตเดฐเตเดจเตเดจเดคเต: เด’เดฐเต เดชเตเดฐเต€เดธเตเดฑเตเดฑเต‹เดชเตเดชเต เดนเตเด•เตเด•เต เดšเต‡เตผเด•เตเด•เตเด• sleep(30). เดฎเตเดฎเตเดชเตเดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจ เดŽเดฒเตเดฒเดพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเด‚ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดพเตป เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚ (เดชเต‹เดกเต เดฎเตเดคเตฝ เดžเด™เตเด™เตพ เดชเตเดคเดฟเดฏเดต เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ เด‡เดคเดฟเดจเด•เด‚ เด•เดดเดฟเดตเตเดณเตเดณ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต), เด•เต‚เดŸเดพเดคเต† 30 เดธเต†เด•เตเด•เตปเดกเดฟเดจเตเดถเต‡เดทเด‚ เดชเต‹เดกเต เดคเดจเตเดจเต† เด’เดฐเต เดธเดฟเด—เตเดจเดฒเดฟเตฝ เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเด‚ SIGTERM.

เด…เดคเต เดฎเดพเดฑเตเด•เดฏเดพเดฃเต lifecycle เด•เดพเดฐเดฃเด‚ เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เด‡เดคเตเดชเต‹เดฒเต† เด•เดพเดฃเดชเตเดชเต†เดŸเตเด‚:

    lifecycle:
      preStop:
        exec:
          command:
          - /bin/sleep
          - "30"

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, 30 เดธเต†เด•เตเด•เตปเดกเต เด•เดพเดฐเดฃเด‚ sleep เดžเด™เตเด™เตพ เดถเด•เตเดคเดฎเดพเดฏเดฟ เด“เดฐเต‹ เดชเต‹เดกเตเด‚ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเด‚ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚ เด•เตเดฑเดžเตเดžเดคเต 30 เดธเต†เด•เตเด•เตปเดกเต, เด…เดคเต เดฎเต‹เดถเดฎเดพเดฃเต. เด‡เดคเดฟเดจเต เดŽเดจเตเดคเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚?

เด…เดชเต‡เด•เตเดทเดฏเตเดŸเต† เดจเต‡เดฐเดฟเดŸเตเดŸเตเดณเตเดณ เดจเดฟเตผเดตเตเดตเดนเดฃเดคเตเดคเดฟเดจเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดฏเดพเดฏ เด•เด•เตเดทเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเดฏเดพเด‚. เดจเดฎเตเดฎเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เด…เด™เตเด™เดจเต†เดฏเดพเดฃเต PHP-FPM, เดเดคเต เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ เด…เดคเดฟเดจเตเดฑเต† เดšเตˆเตฝเดกเต เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เดณเตเดŸเต† เดจเดฟเตผเดตเตเดตเดนเดฃเด‚ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ: เดฎเดพเดธเตเดฑเตเดฑเตผ เดชเตเดฐเด•เตเดฐเดฟเดฏ เด‰เดŸเดจเดŸเดฟ เด…เดตเดธเดพเดจเดฟเดšเตเดšเต. เดจเดฟเตผเดฆเตเดฆเต‡เดถเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดˆ เดธเตเดตเดญเดพเดตเด‚ เดฎเดพเดฑเตเดฑเดพเด‚ process_control_timeout, เด‡เดคเต เดฎเดพเดธเตเดฑเตเดฑเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเดฟเด—เตเดจเดฒเตเด•เตพเด•เตเด•เดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด•เตเดŸเตเดŸเดฟเด•เดณเตเดŸเต† เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เตพเด•เตเด•เตเดณเตเดณ เดธเดฎเดฏ เดชเดฐเดฟเดงเดฟ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เดฎเต‚เดฒเตเดฏเด‚ 20 เดธเต†เด•เตเด•เตปเดกเดพเดฏเดฟ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‡เดคเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดฎเดฟเด•เตเด• เดšเต‹เดฆเตเดฏเด™เตเด™เดณเตเด‚ เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเด•เดฏเตเด‚ เด…เดต เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเดฎเตเดชเต‹เตพ เดฎเดพเดธเตเดฑเตเดฑเตผ เดชเตเดฐเต‹เดธเดธเตเดธเต เดจเดฟเตผเดคเตเดคเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เดˆ เด…เดฑเดฟเดตเต‹เดŸเต†, เดจเดฎเตเด•เตเด•เต เดจเดฎเตเดฎเตเดŸเต† เด…เดตเดธเดพเดจ เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เดพเด‚. เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดคเตเดชเต‹เดฒเต†, เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด’เดฐเต เดฎเต‹เดฃเต‹เดฒเดฟเดคเตเดคเดฟเด•เตเด•เต เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เด…เดฒเตเดฒ: เด…เดคเดฟเดจเตเดฑเต† เดตเตเดฏเดคเตเดฏเดธเตเดค เด˜เดŸเด•เด™เตเด™เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด†เดถเดฏเดตเดฟเดจเดฟเดฎเดฏเด‚ เด•เตเดฑเดšเตเดšเต เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด‚. เด‡เตปเด—เตเดฐเต†เดธเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดฎเดฑเตเดฑเต เด…เดจเตเดฌเดจเตเดง เด˜เดŸเด•เด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดžเด™เตเด™เตพ เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด‡เดคเต เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ เดธเดคเตเดฏเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเดคเตเดคเต เด‡เดคเตเดฐเดฏเตเด‚ เด•เดพเดฒเดคเดพเดฎเดธเด‚ เด•เดพเดฐเดฃเด‚ 500 เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เดตเตผเดฆเตเดงเดจเดตเต เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดณเตเดชเตเดชเดฎเดพเดฃเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด’เดฐเต เด…เดชเตโ€ŒเดธเตเดŸเตเดฐเต€เดฎเดฟเดฒเต‡เด•เตเด•เต เด’เดฐเต เด…เดญเตเดฏเตผเดคเตเดฅเดจ เด…เดฏเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เด’เดฐเต เดชเดฟเดถเด•เต เดธเด‚เดญเดตเดฟเด•เตเด•เดพเด‚, เดŽเดจเตเดจเดพเตฝ เด˜เดŸเด•เด™เตเด™เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เด‡เดŸเดชเต†เดŸเดฒเดฟเดจเตเดฑเต† โ€œเดธเดฎเดฏ เด•เดพเดฒเดคเดพเดฎเดธเด‚โ€ เดตเดณเดฐเต† เดšเต†เดฑเตเดคเดพเดฃเต - เด’เดฐเต เดธเต†เด•เตเด•เตปเดกเดฟเตฝ เดคเดพเดดเต†.

เด…เดคเตเด•เตŠเดฃเตเดŸเต, เดฎเตŠเดคเตเดคเดคเตเดคเดฟเตฝ เด‡เดคเดฟเดจเด•เด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดš เดจเดฟเตผเดฆเตเดฆเต‡เดถเดคเตเดคเต‹เดŸเต† process_control_timeout เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดจเดฟเตผเดฎเตเดฎเดพเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ lifecycle:

lifecycle:
  preStop:
    exec:
      command: ["/bin/bash","-c","/bin/sleep 1; kill -QUIT 1"]

เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เด•เดพเดฒเดคเดพเดฎเดธเดคเตเดคเดฟเดจเต เดจเดทเตเดŸเดชเดฐเดฟเดนเดพเดฐเด‚ เดจเตฝเด•เตเด‚ sleep เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเด‚ เดตเดฒเดฟเดฏ เดคเต‹เดคเดฟเตฝ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดฐเตเดคเต: 30 เดธเต†เด•เตเด•เตปเดกเตเด‚ เด’เดจเตเดจเตเด‚ เดคเดฎเตเดฎเดฟเตฝ เดถเตเดฐเดฆเตเดงเต‡เดฏเดฎเดพเดฏ เดตเตเดฏเดคเตเดฏเดพเดธเดฎเตเดฃเตเดŸเต‹?.. เดตเดพเดธเตเดคเดตเดคเตเดคเดฟเตฝ, เด‡เดคเดพเดฃเต process_control_timeoutเด’เดชเตเดชเด‚ lifecycle เด•เดพเดฒเดคเดพเดฎเดธเดฎเตเดฃเตเดŸเดพเดฏเดพเตฝ "เดธเตเดฐเด•เตเดทเดพ เดตเดฒ" เด†เดฏเดฟ เดฎเดพเดคเตเดฐเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

เดชเตŠเดคเตเดตเดพเดฏเดฟ เดชเดฑเดžเตเดžเดพเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดš เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเดตเตเด‚ เด…เดจเตเดฌเดจเตเดง เดชเดฐเดฟเดนเดพเดฐเดตเตเด‚ PHP-FPM-เดจเต เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เดฌเดพเดงเด•เดฎเดพเดฃเต. เดฎเดฑเตเดฑเต เดญเดพเดทเด•เตพ / เดšเดŸเตเดŸเด•เตเด•เต‚เดŸเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดธเดฎเดพเดจเดฎเดพเดฏ เดธเดพเดนเดšเดฐเตเดฏเด‚ เด’เดฐเต เดคเดฐเดคเตเดคเดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดจเตเดจเต เด‰เดฃเตเดŸเดพเด•เดพเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเดฑเตเดฑเต เดตเดดเดฟเด•เดณเดฟเตฝ เดญเด‚เด—เดฟเดฏเตเดณเตเดณ เดทเดŸเตเดŸเตเดกเต—เตบ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ - เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เต‹เดกเต เดฑเต€เดฑเตˆเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดธเดฟเด—เตเดจเดฒเตเด•เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต - เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเดฟเดตเดฐเดฟเดšเตเดš เดฐเต€เดคเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เด‡เดคเต เดเดฑเตเดฑเดตเตเด‚ เดฎเดจเต‹เดนเดฐเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดชเดฐเดฟเดถเต€เดฒเดฟเด•เตเด•เตเด•. เดชเต‹เดกเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเตป เดฒเต‹เดกเต เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต

เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเตผ เดŽเด™เตเด™เดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดฎเดพเตผเด—เดฎเดพเดฃเต เดฒเต‹เดกเต เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต, เด•เดพเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดธเตˆเดฑเตเดฑเต เดธเดจเตเดฆเตผเดถเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดˆ เดจเดŸเดชเดŸเดฟเด•เตเดฐเดฎเด‚ เดฏเดฅเดพเตผเดคเตเดฅ เดชเต‹เดฐเดพเดŸเตเดŸ เดธเดพเดนเดšเดฐเตเดฏเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เด…เดคเดฟเดจเต† เด…เดŸเตเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดถเตเดชเดพเตผเดถเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ Yandex.Tankom: เด‡เดคเต เดจเดฎเตเดฎเตเดŸเต† เดŽเดฒเตเดฒเดพ เด†เดตเดถเตเดฏเด™เตเด™เดณเตเด‚ เดคเดฟเด•เดšเตเดšเตเด‚ เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจเต. เด—เตเดฐเดพเดซเดพเดจเดฏเตเดŸเต†เดฏเตเด‚ Yandex.Tank-เดจเตเดฑเต†เดฏเตเด‚ เด—เตเดฐเดพเดซเตเด•เตพเด•เตเด•เต เดจเดจเตเดฆเดฟ, เดžเด™เตเด™เดณเตเดŸเต† เด…เดจเตเดญเดตเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดตเตเดฏเด•เตเดคเดฎเดพเดฏ เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดฐเดฟเดถเต‹เดงเดจ เดจเดŸเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเตเดฑเตเด™เตเด™เตเด•เดณเตเด‚ เดถเตเดชเดพเตผเดถเด•เดณเตเด‚ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดตเดฏเดพเดฃเต.

เด‡เดตเดฟเดŸเต† เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดงเดพเดจเดชเตเดชเต†เดŸเตเดŸ เด•เดพเดฐเตเดฏเด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เด˜เดŸเตเดŸเด‚ เด˜เดŸเตเดŸเดฎเดพเดฏเดฟ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•. เด’เดฐเต เดชเตเดคเดฟเดฏ เดชเดฐเดฟเดนเดพเดฐเด‚ เดšเต‡เตผเดคเตเดคเดคเดฟเดจเต เดถเต‡เดทเด‚, เดŸเต†เดธเตเดฑเตเดฑเต เดฑเตบ เดšเต†เดฏเตเดคเต เด…เดตเดธเดพเดจ เดฑเดฃเตเดฃเตเดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดซเดฒเด™เตเด™เตพ เดฎเดพเดฑเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดจเต‹เด•เตเด•เตเด•. เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚, เดซเดฒเดชเตเดฐเดฆเดฎเดฒเตเดฒเดพเดคเตเดค เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เตพ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเดพเตป เดชเตเดฐเดฏเดพเดธเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เดฆเต€เตผเด˜เด•เดพเดฒเดพเดŸเดฟเดธเตเดฅเดพเดจเดคเตเดคเดฟเตฝ เด…เดคเต เดฆเต‹เดทเด‚ เดšเต†เดฏเตเดฏเดพเตป เดฎเดพเดคเตเดฐเดฎเต‡ เด•เดดเดฟเดฏเต‚ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเด‚ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเด•).

เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดฒเต‹เด—เตเด•เตพ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจ เดธเดฎเดฏเดคเตเดคเต เดจเต‹เด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เดฎเดฑเตเดฑเตŠเดฐเต เดธเต‚เด•เตเดทเตเดฎเดค. เด—เด‚เดญเต€เดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดš เดตเดฟเดตเดฐเด™เตเด™เตพ เด…เดตเดฟเดŸเต† เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต‹? เดฎเดฑเตเดฑเต เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพ เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดฒเต‹เด—เตเด•เดณเดฟเตฝ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเดฟเดถเด•เตเด•เตพ เด‰เดฃเตเดŸเต‹ (เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด…เดฏเตฝเดชเด•เตเด•เดคเตเดคเตเดณเตเดณ PHP-FPM เด•เดฃเตเดŸเต†เดฏเตเดจเดฑเดฟเดฒเต‡เด•เตเด•เต)? เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเดฒเต† เดคเดจเตเดจเต† เดชเดฟเดถเด•เตเด•เตพ (เดฎเตเด•เดณเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดš NGINX-เดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเดฒเต†เดจเตเดจเดชเต‹เดฒเต†)? เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด†เดฎเตเด– เดตเดฟเดตเดฐเด™เตเด™เตพ เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดคเดฟเดจเต เดŽเดจเตเดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดจเดจเตเดจเดพเดฏเดฟ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดžเดพเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดคเดฟเดจเดพเตฝ, เด†เดฆเตเดฏ เดชเดฐเต€เด•เตเดทเดฃ เด“เดŸเตเดŸเด‚ เด‡เดฒเตเดฒเดพเดคเต† เดจเดŸเดจเตเดจเต lifecycle เด•เต‚เดŸเดพเดคเต† เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดธเต†เตผเดตเดฑเดฟเดจเตเดณเตเดณ เด…เดงเดฟเด• เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เด‡เดฒเตเดฒเดพเดคเต† (process_control_timeout PHP-FPM-เตฝ). เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เดเด•เดฆเต‡เดถ เดŽเดฃเตเดฃเด‚ (เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเต‹ เดŽเดจเตเดจเต) เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตเด• เดŽเดจเตเดจเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต เดˆ เดชเดฐเดฟเดถเต‹เดงเดจเดฏเตเดŸเต† เดฒเด•เตเดทเตเดฏเด‚. เด•เต‚เดŸเดพเดคเต†, เด…เดงเดฟเด• เดตเดฟเดตเดฐเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต, เด“เดฐเต‹ เดชเต‹เดกเดฟเดจเตเดฑเต†เดฏเตเด‚ เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเดจเตเดจเดคเต เดตเดฐเต† เดเด•เดฆเต‡เดถเด‚ 5-10 เดธเต†เด•เตเด•เตปเดกเต เด†เดฏเดฟเดฐเตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เด…เดฑเดฟเดžเตเดžเดฟเดฐเดฟเด•เตเด•เดฃเด‚. เดซเดฒเด™เตเด™เตพ เด‡เดตเดฏเดพเดฃเต:

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเตเดฑเตเด™เตเด™เตเด•เดณเตเด‚ เดคเดจเตเดคเตเดฐเด™เตเด™เดณเตเด‚: NGINX, PHP-FPM เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ

Yandex.Tank เดตเดฟเดตเดฐ เดชเดพเดจเตฝ 502 เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เด’เดฐเต เดธเตโ€Œเดชเตˆเด•เตเด•เต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเดคเตเดคเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเตเด‚ เดถเดฐเดพเดถเดฐเดฟ 5 เดธเต†เด•เตเด•เตปเดกเต เดตเดฐเต† เดจเต€เดฃเตเดŸเตเดจเดฟเตฝเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฃเต. เดชเดดเดฏ เดชเต‹เดกเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เด…เดคเต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด…เดคเต เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฒเดพเด•เดพเด‚ เด‡เดคเต. เด‡เดคเดฟเดจเตเดถเต‡เดทเด‚, 503 เดชเดฟเดถเด•เตเด•เตพ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเตเดŸเต, เด‡เดคเต เดจเดฟเตผเดคเตเดคเดฟเดฏ NGINX เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดจเตเดฑเต† เดซเดฒเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต, เด‡เดคเต เดฌเดพเด•เตเด•เต†เตปเดกเต เด•เดพเดฐเดฃเด‚ เด•เดฃเด•เตเดทเดจเตเด•เตพ เด‰เดชเต‡เด•เตเดทเดฟเดšเตเดšเต (เด‡เดคเต เด‡เดคเดฟเดฒเต‡เด•เตเด•เต เด•เดฃเด•เตเดฑเตเดฑเตเดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเดŸเดฏเตเดจเตเดจเต).

เดŽเด™เตเด™เดจเต†เดฏเต†เดจเตเดจเต เดจเต‹เด•เตเด•เดพเด‚ process_control_timeout PHP-FPM-เตฝ เดšเตˆเตฝเดกเต เดชเตเดฐเต‹เดธเดธเตเด•เดณเตเดŸเต† เดชเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเด‚, เด…เดคเดพเดฏเดคเต. เด…เดคเตเดคเดฐเด‚ เดคเต†เดฑเตเดฑเตเด•เตพ เดคเดฟเดฐเตเดคเตเดคเตเด•. เดˆ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเต€เดฃเตเดŸเตเด‚ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเด•:

เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดจเตเดฑเตเด™เตเด™เตเด•เดณเตเด‚ เดคเดจเตเดคเตเดฐเด™เตเด™เดณเตเด‚: NGINX, PHP-FPM เดŽเดจเตเดจเดฟเดตเดฏเดฟเดฒเต† เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ

500-เดพเดฎเดคเตเดคเต† เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเดคเตเดคเต เด•เต‚เดŸเตเดคเตฝ เดชเดฟเดถเด•เตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ! เดตเดฟเดจเตเดฏเดพเดธเด‚ เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฃเต, เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เตบ เดตเตผเด•เตเด•เตเด•เตพ.

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เตปเด—เตเดฐเต†เดธเต เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเตเด•เดณเดฟเดฒเต† เดชเตเดฐเดถเตโ€Œเดจเด‚ เด“เตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเต เดฎเต‚เดฒเตเดฏเดตเดคเตเดคเดพเดฃเต, เดธเดฎเดฏเด•เตเด•เตเดฑเดตเต เด•เดพเดฐเดฃเด‚ เดžเด™เตเด™เตพเด•เตเด•เต เดฒเดญเดฟเดšเตเดšเต‡เด•เตเด•เดพเดตเตเดจเตเดจ เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดถเดคเดฎเดพเดจเด‚ เดชเดฟเดถเด•เตเด•เตพ. เด…เดต เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป, เด’เดฐเต เด˜เดŸเดจ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเดคเต sleep เดตเดฟเดจเตเดฏเดพเดธเด‚ เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดคเตเดฏเต‡เด• เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตŠเดจเตเดจเตเด‚ เดฆเตƒเดถเตเดฏเดฎเดพเดฏเดฟเดฒเตเดฒ (เดตเต€เดฃเตเดŸเตเด‚, เดชเดฟเดถเด•เตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ).

เดคเต€เดฐเตเดฎเดพเดจเด‚

เดชเตเดฐเด•เตเดฐเดฟเดฏ เดญเด‚เด—เดฟเดฏเดพเดฏเดฟ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดชเต†เดฐเตเดฎเดพเดฑเตเดฑเด‚ เดžเด™เตเด™เตพ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต:

  1. เด•เตเดฑเดšเตเดšเต เดจเดฟเดฎเดฟเดทเด™เตเด™เตพ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•, เดคเตเดŸเตผเดจเตเดจเต เดชเตเดคเดฟเดฏ เด•เดฃเด•เตเดทเดจเตเด•เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเตผเดคเตเดคเตเด•.
  2. เดŽเดฒเตเดฒเดพ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเด‚ เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเดคเตเดค เดŽเดฒเตเดฒเดพ เด•เต€เดชเดฒเตˆเดตเต เด•เดฃเด•เตเดทเดจเตเด•เดณเตเด‚ เด…เดŸเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•.
  3. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเด•เตเดฐเดฟเดฏ เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเด•.

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดŽเดฒเตเดฒเดพ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเตเด‚ เดˆ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดฏเดพเดฅเดพเตผเดคเตเดฅเตเดฏเด™เตเด™เดณเดฟเดฒเต† เดชเตเดฐเดถเตเดจเดคเตเดคเดฟเดจเตเดณเตเดณ เด’เดฐเต เดชเดฐเดฟเดนเดพเดฐเด‚ เด‡เดคเดพเดฃเต:

  • เด•เตเดฑเดšเตเดšเต เดจเดฟเดฎเดฟเดทเด™เตเด™เตพ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเต€-เดธเตเดฑเตเดฑเต‹เดชเตเดชเต เดนเตเด•เตเด•เต เดšเต‡เตผเด•เตเด•เตเดจเตเดจเต;
  • เด‰เดšเดฟเดคเดฎเดพเดฏ เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดžเด™เตเด™เดณเตเดŸเต† เดฌเดพเด•เตเด•เต†เตปเดกเดฟเดจเตเดฑเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดซเดฏเตฝ เดชเด เดฟเด•เตเด•เตเดจเตเดจเต.

เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เดŸเต†เตผเดฎเดฟเดจเต‡เดทเตป เดธเดฟเด—เตเดจเดฒเตเด•เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸ เด’เดฐเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดชเต‹เดฒเตเด‚ เด…เด™เตเด™เดจเต† เดšเต†เดฏเตเดคเต‡เด•เตเด•เดฟเดฒเตเดฒ เดŽเดจเตเดจเต NGINX-เดจเตŠเดชเตเดชเดฎเตเดณเตเดณ เด‰เดฆเดพเดนเดฐเดฃเด‚ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดตเดฟเดจเตเดฏเดพเดธ เดธเดฎเดฏเดคเตเดคเต 500 เดชเดฟเดถเด•เตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเตผเดฃเดพเดฏเด•เดฎเดพเดฃเต. เดชเตเดฐเดถเตโ€Œเดจเดคเตเดคเต† เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดพเดฒเดฎเดพเดฏเดฟ เด•เดพเดฃเดพเดจเตเด‚ เด’เดฐเตŠเดฑเตเดฑ เดชเต‹เดกเดฟเดฒเต‹ เด•เดฃเตเดŸเต†เดฏเตโ€Œเดจเดฑเดฟเดฒเต‹ เดถเตเดฐเดฆเตเดง เด•เต‡เดจเตเดฆเตเดฐเต€เด•เดฐเดฟเด•เตเด•เดพเดคเต†, เดฎเตเดดเตเดตเตป เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเดฑเตเด‚ เดฎเตŠเดคเตเดคเดคเตเดคเดฟเตฝ เดจเต‹เด•เตเด•เดพเดจเตเด‚ เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต เดŸเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดŸเต‚เตพ เดŽเดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เดเดคเต เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดตเตเดฎเดพเดฏเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต Yandex.Tank เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚ (เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดŸเต†เดธเตเดฑเตเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดฌเดพเด•เตเด•เต†เตปเดกเตเดณเตเดณ เด—เตเดฐเดพเดซเดพเดจเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดพเดฑเตเดฑ เดŽเดŸเตเดคเตเดคเดคเดพเดฃเต). เดฌเต†เดžเตเดšเตเดฎเดพเตผเด•เตเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เด•เดจเดคเตเดค เดฒเต‹เดกเตเด•เตพเด•เตเด•เต เด•เต€เดดเดฟเตฝ เดฎเดจเต‹เดนเดฐเดฎเดพเดฏ เดทเดŸเตเดŸเตเดกเต—เดฃเดฟเดฒเต† เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เด•เดพเดฃเดพเด‚, เด•เต‚เดŸเดพเดคเต† เดชเดฐเดฟเดถเต‹เดงเดจเดฏเตเด•เตเด•เดฟเดŸเดฏเดฟเดฒเต‹ เดถเต‡เดทเดฎเต‹ เดธเตเดฅเดฟเดคเดฟ เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚ เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเต.

เดฒเต‡เด–เดจเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดซเต€เดกเตโ€Œเดฌเดพเด•เตเด•เดฟเดจเตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดพเดฏเดฟ: NGINX เดชเตเดฐเดตเต‡เดถเดจเดตเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เดชเตเดฐเดถเตเดจเด™เตเด™เดณเตเด‚ เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเตเด‚ เด‡เดตเดฟเดŸเต† เดตเดฟเดตเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดŸเตเดคเตเดคเตเดชเดฑเดฏเต‡เดฃเตเดŸเดคเดพเดฃเต. เดฎเดฑเตเดฑเต เดธเดจเตเดฆเตผเดญเด™เตเด™เดณเดฟเตฝ, เดฎเดฑเตเดฑเต เดชเดฐเดฟเดนเดพเดฐเด™เตเด™เดณเตเดฃเตเดŸเต, เด…เดต เดชเดฐเดฎเตเดชเดฐเดฏเตเดŸเต† เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเดฒเตเด•เดณเดฟเตฝ เดžเด™เตเด™เตพ เดชเดฐเดฟเด—เดฃเดฟเด•เตเด•เดพเด‚.

เดชเดฟ.เดŽเดธเต

K8s เดจเตเดฑเตเด™เตเด™เตเด•เดณเตเด‚ เดคเดจเตเดคเตเดฐเด™เตเด™เดณเตเด‚ เดชเดฐเดฎเตเดชเดฐเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเดฑเตเดฑเตเดณเตเดณเดต:

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•