ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx

Как ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния PHP-скрипта?

Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π»ΠΈ, ΠΎ Ρ‡Π΅ΠΌ ΠΈΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ, ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ нСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€. ΠŸΡ€ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π΅ Π·Π° выставлСнныС Ρ€Π°ΠΌΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ€ΠΎΠ΄Π° ΠΎΡˆΠΈΠ±ΠΊΡƒ:

Π― расскаТу ΠΎ 4-Ρ… способах, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Π½Π΅Π΅.

Но ΡΡ‚ΠΎΠΈΡ‚ΡŒ Π½Π°Ρ‡Π°Ρ‚ΡŒ с Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ случаС всС пСрСчислСнныС способы ΠΌΠΎΠ³ΡƒΡ‚ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ хостинг-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‚ самим ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.

Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния PHP-скрипта Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» php.ini

Π’ качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ способа для увСличСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния скрипта ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ php.ini.

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π³Π΄Π΅ находится этот Ρ„Π°ΠΉΠ», ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ.

ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для вас способом ΠΈ Π² самый Π½ΠΈΠ· вставляСтС:

Π“Π΄Π΅ Β«300Β» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ 300 сСкунд (мСняСтС Π½Π° своС). Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ», ΠΊ соТалСнию, Π½Π΅ Π½Π° всСх хостингах доступСн ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ для рСдактирования.

Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния PHP-скрипта Ρ‡Π΅Ρ€Π΅Π· Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«ini_setΒ»

Π’Ρ‚ΠΎΡ€ΠΎΠΉ способ основываСтся Π½Π° использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«ini_setΒ». Π•Π΅ Π²Ρ‹ вставляСтС нСпосрСдствСнно Π² сам Ρ„Π°ΠΉΠ» скрипта, ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π² самый Π²Π΅Ρ€Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π—Π΄Π΅ΡΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«300Β» Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ смСняСтС Π½Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ Π²Π°ΠΌ Π² сСкундах. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ использовании PHP Π² бСзопасном Ρ€Π΅ΠΆΠΈΠΌΠ΅ эта функция Π±ΡƒΠ΄Π΅Ρ‚ нСдоступна.

Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния PHP-скрипта Ρ‡Π΅Ρ€Π΅Π· Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Β«set_time_limitΒ»

Π’Ρ€Π΅Ρ‚ΠΈΠΉ способ, Π½Π°Π²Π΅Ρ€Π½ΠΎΠ΅, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных – использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Β«set_time_limitΒ» для измСнСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния скрипта. Π’Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСпосрСдствСнно Π² самом Ρ„Π°ΠΉΠ»Π΅ PHP. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π—Π΄Π΅ΡΡŒ Β«300Β» Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ измСняСтС Π½Π° Π½ΡƒΠΆΠ½ΠΎΠ΅ Π²Π°ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π² самом Π²Π΅Ρ€Ρ…Ρƒ.

ПослСдний Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° .htaccess, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΊΠΎΡ€Π½Π΅ вашСго сайта (Ссли Ρ‚Π°ΠΊΠΎΠ²ΠΎΠΉ отсутствуСт – создайтС Π΅Π³ΠΎ).

Π’ самый Π²Π΅Ρ€Ρ… этого Ρ„Π°ΠΉΠ»Π° Π²ΡΡ‚Π°Π²ΡŒΡ‚Π΅:

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Β«300Β» Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ мСняСтС Π½Π° своС.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²ΠΎ всСх случаях врСмя выполнСния скрипта указываСтся Π² сСкундах. Помимо этого, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π²ΠΎ всСх способах ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Β«0Β», Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ врСмя выполнСния.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΎΡ‚Π²Π΅Π΄Π΅Π½ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ PHP-скрипта?

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· способов Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π»ΠΈΡΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ врСмя выполнСния скрипта, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΠΈ Ρƒ вас это ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.

Для этого создайтС PHP-Ρ„Π°ΠΉΠ» Π² ΠΊΠΎΡ€Π½Π΅ вашСго сайта, Π³Π΄Π΅ Π²Ρ‹Π²Π΅Π΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ установлСнного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ:

Если врСмя равняСтся Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ – поздравляСм вас, Π²Ρ‹ достигли ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠΉ Ρ†Π΅Π»ΠΈ. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΆΠ΅ случаС ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π΅Ρ‰Π΅ Ρ€Π°Π·, Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях ΠΎ вашСй ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ Π΅Π΅ Π²Π°ΡˆΠ΅ΠΌΡƒ хостинг-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρƒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Β«Π΄ΠΎΠ»Π³ΠΈΡ…Β» скриптов PHP

Π’Π½Π΅ΡˆΠ½ΠΈΠΉ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚

Π’ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ подходящСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° max_execution_time Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ PHP.

Π’Π΅Π±-сСрвСр ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запросы Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π²Π΅Π±-сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ запустит PHP скрипт (Π½Π΅ Ρ€Π΅Π΄ΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, nginx β€” Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄, apache β€” бэкэнд). Π’ этом случаС Π½Π° ΠΏΡ€ΠΎΠΊΡΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌ Π²Π΅Π±-сСрвСрС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ проксирования. Для apache ProxyTimeout, для nginx proxy_read_timeout.

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

Если скрипт запускаСтся Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° HTTP-запрос, Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запроса Π² своСм Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Π² этом случаС ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ свою Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ PHP скрипт. Если ΠΆΠ΅ трСбуСтся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ скрипт ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ» свою Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Π°ΠΆΠ΅ послС остановки запроса, установитС Π² TRUE ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ignore_user_abort Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅ PHP.

ΠŸΠΎΡ‚Π΅Ρ€Ρ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… соСдинСний

Π’ Ρ‚Π°ΠΊΠΈΡ… случаях слСдуСт Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ соСдинСния. НапримСр, для MySQL ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ запрос (спасибо Snowly)

ΠŸΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½Ρ‹ΠΉ запуск

Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… рСсурсов, Π½ΠΎ эта Π·Π°Π΄Π°Ρ‡Π° всСгда Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ. Π›ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ, Π½Π΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° Π»ΠΈ другая копия этого скрипта, ΠΈ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π»ΠΈΠ±ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ запуск. Для этого ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ список Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Ρ… процСссов, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ запуска самого скрипта, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅:

Нагрузка Π½Π° Π²Π΅Π±-сСрвСр

Π’ случаях, ΠΊΠΎΠ³Π΄Π° Π΄ΠΎΠ»Π³ΠΈΠ΅ скрипты Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сСрвСр, соСдинСниС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с этим самым Π²Π΅Π±-сСрвСром остаСтся ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ скрипт. Π­Ρ‚ΠΎ Π½Π΅ Π΅ΡΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚.ΠΊ. Π·Π°Π΄Π°Ρ‡Π° Π²Π΅Π±-сСрвСра ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ запрос ΠΈ ΠΎΡ‚Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Если ΠΆΠ΅ соСдинСниС остаСтся Π²ΠΈΡΠ΅Ρ‚ΡŒ, Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΡ€ΠΊΠ΅Ρ€ΠΎΠ² (процСссов) Π²Π΅Π±-сСрвСра Π½Π° Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя Π±ΡƒΠ΄Π΅Ρ‚ занят. А Ссли ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½ΠΎ достаточно ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚Π°ΠΊΠΈΡ… скриптов, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΡΡ‚ΡŒ всС (Π½Ρƒ ΠΈΠ»ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ всС) свободныС Π²ΠΎΡ€ΠΊΠ΅Ρ€Ρ‹ (для apache см. MaxClients), ΠΈ Π²Π΅Π±-сСрвСр просто Π½Π΅ смоТСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ запросы.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ слСдуСт ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ запроса ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипт Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‡Π΅Ρ€Π΅Π· php-cli, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π½Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π²Π΅Π±-сСрвСр, Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΡ‚Π²Π΅Ρ‡Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ запрос обрабатываСтся. ΠŸΡ€ΠΈ нСобходимости ΠΌΠΎΠΆΠ½ΠΎ пСриодичСски ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ состояниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ AJAX запросов.

Π’ΠΎΡ‚, ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ, ΠΈ всС Ρ‡Ρ‚ΠΎ я ΠΌΠΎΠ³Ρƒ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅. НадСюсь, для ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ PHP

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. soc facebook red. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-soc facebook red. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° soc facebook red. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. soc twitter red. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-soc twitter red. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° soc twitter red. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. soc telegram red. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-soc telegram red. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° soc telegram red. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

БущСствуСт ряд ΠΏΡ€Π°Π²ΠΈΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоит ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° PHP. ΠŸΡ€Π°Π²ΠΈΠ»Π° простыС ΠΈ Π½Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… прилоТСниях.

Fastcgi

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. smngoz4hn93shde4v.219c0daa. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-smngoz4hn93shde4v.219c0daa. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° smngoz4hn93shde4v.219c0daa. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

FastCGI β€” это ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ PHP ΠΊ Web сСрвСру. Π›ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² связкС с Nginx. PHP-fpm (Fastcgi ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для PHP) ΠΈ Nginx ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΈ ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°ΡŽΡ‚ΡΡ.

OpCache

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. smngoz34l7tjm6a69.1ec6eac8. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-smngoz34l7tjm6a69.1ec6eac8. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° smngoz34l7tjm6a69.1ec6eac8. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Как ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выполняСтся PHP скрипт? PHP ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» с ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ, Π·Π°Ρ‚Π΅ΠΌ выполняСт. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ, процСсс ΠΈΡ… открытия, чтСния ΠΈ компиляции ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΊΡƒΡ‡Ρƒ рСсурсов. Если Ρ„Π°ΠΉΠ»Ρ‹ Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ, Ρ‚ΠΎ ΠΏΠΎΡΡ‚ΠΎΡΠ½Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ. Π›ΡƒΡ‡ΡˆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ Π·Π°ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ИмСнно это ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ opCache. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ компиляции Π±ΡƒΠ΄Π΅Ρ‚ сохранСн Π² кэш, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ PHP. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ это ускорит Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π° счСт отсутствия тяТСлого процСсса компиляции. Когда Ρ„Π°ΠΉΠ»Ρ‹ измСнятся, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ сам сбросит кэш ΠΈ обСспСчит ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ. ΠšΠΎΡ€ΠΎΡ‡Π΅, этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΡƒΡŽ экономию рСсурсов. И это Π±Π΅Π· нСобходимости Π΅Π³ΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ.

Π’ вСрсии PHP5.5+ этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ поставляСтся Π² стандартной сборкС. Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсиях ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊ:

ΠŸΡƒΡΡ‚ΠΎΠΉ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ модуля Π½Π΅Ρ‚

Если вСрсия слишком ранняя, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ APC:

apt-cache search php-apc

Π­Ρ‚ΠΎ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° opCache, Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ самоС

ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Часто ΠΊΠΎΠ΄ просто ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ. НапримСр:

Π’ этом случаС, ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ срСдство ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.
ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. smngoz273h0058kqag.12ca770b. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-smngoz273h0058kqag.12ca770b. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° smngoz273h0058kqag.12ca770b. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Для PHP Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярным Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ являСтся Memcache. ΠžΡ‡Π΅Π½ΡŒ простой Π² использовании ΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстрый, Ρ‚.ΠΊ. ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самоС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅.

PHP.ini

Если Π’Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ установили PHP, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π’Ρ‹ настроили Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ Π’Π°Ρˆ сайт. Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ рСсурсы:

БСссии

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, PHP Ρ…Ρ€Π°Π½ΠΈΡ‚ сСссии Π² Ρ„Π°ΠΉΠ»Π°Ρ…. Π­Ρ‚ΠΎ довольно эффСктивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. Но ΠΊΠΎΠ³Π΄Π° Ρ„Π°ΠΉΠ»ΠΎΠ² становится ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ (дСсятки тысяч), Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΡΡ‚ΡŒΡΡ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ (особСнности Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм). Π’ этом случаС Π»ΡƒΡ‡ΡˆΠ΅ пСрСнСсти сСссии Π½Π° Memcache (php.ini):

ΠšΡ€ΠΎΠΌΠ΅ этого, такая схСма хранСния ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° нСсколько сСрвСров.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ΄Π°

ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅! ООП β€” это всСгда ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, Π³Π΄Π΅-Ρ‚ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Ρ‚ΡŒ. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ссли ΠΎΠ½ΠΈ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. НапримСр, Ρ‚ΡƒΡ‚:

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π‘Π”

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти свойство

Π’ этих ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… использованиС ООП Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ особого смысла. Π—Π°Ρ‚ΠΎ расходуСт рСсурсы. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массивы, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹.

ИзбСТали создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, функция просто сохраняСт Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· массива Π² Π±Π°Π·Ρƒ ΠΈΠ»ΠΈ Ρ‚ΡƒΡ‚:

Намного Π»ΡƒΡ‡ΡˆΠ΅ β€” ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈ вывСсти Π½ΡƒΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· массива

ΠœΠ΅Π»ΠΎΡ‡ΠΈ

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ. Π’ΠΎΠ³Π΄Π° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ лишниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска Ρ„Π°ΠΉΠ»Π°:

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ классов Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ эффСктивнСС, Ρ‡Π΅ΠΌ define:

НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² условии for, Ρ‚.ΠΊ. ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡ‚ΡŒΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ†ΠΈΠΊΠ»Π°:

Π’ качСствС ΠΊΠ»ΡŽΡ‡Π΅ΠΉ массивов всСгда ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ строки с ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ:

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками вмСстС рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ строки с ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ:

PHP cron-скрипты

Когда PHP ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ скрипта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ ΠΊΡ€ΠΎΠ½Ρƒ, слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ использования Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Частый ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это просто использованиС ΠΎΠ±Ρ‰Π΅Π³ΠΎ массива:

Π‘Π°ΠΌΠΎΠ΅ Π²Π°ΠΆΠ½ΠΎΠ΅

Π­Ρ‚ΠΎΡ‚ тСкст Π±Ρ‹Π» написан нСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Π‘ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ упомянутыС здСсь инструмСнты ΠΈ софт ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ обновлСния. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, провСряйтС ΠΈΡ… Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Анализ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… PHP скриптов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ XHprof

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ Π½Π° beanstalkd

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ тяТСлых запросов

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Vertica ΠΈΠ· PHP с ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ ODBC

Как Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ PHP сСссий Π² Memcache

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρ‡Π°ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΠΈ написана Π½Π° PHP, Π° Ρ‡Π°ΡΡ‚ΡŒ Π½Π° NodeJS

Nohup для запуска скрипта Π² Ρ„ΠΎΠ½Π΅

АрхитСктурныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ высоконагруТСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Server-Sent API с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ асинхронных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² PHP

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ избавлСния ΠΎΡ‚ этой ошибки

Как ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ врСмя получСния ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π°ΠΉΡ‚Π° ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ Π²Π΅Π±-сСрвСра

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ подсказки для создания быстрых PHP ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² PHP-прилоТСниях

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΎΡ‡Π΅Ρ€Π΅Π΄Π΅ΠΉ Π½Π° основС Gearman ΠΈ PHP

НСмного ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ singleton ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ ΠΊ MySQL с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅Π³ΠΎ.

Π§Π΅ΠΌ Π²Ρ‹Π·Π²Π°Π½Π° ошибка 500 ΠΈ ΠΊΠ°ΠΊ Π΅Π΅ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π² Nginx

Как эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» foreach Π² PHP

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ 504 gateway time out Nginx

Π’Π΅Π±-сСрвСр Nginx часто Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² качСствС самого Π²Π΅Π±-сСрвСра для ΠΎΡ‚Π΄Π°Ρ‡ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, Π½ΠΎ ΠΈ Π² качСствС прокси, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ вступаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ посрСдником. Вакая ситуация Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Ρ‡Π°Ρ‰Π΅, Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ. НапримСр, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с php-fpm ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ модулями динамичСских языков.

ИмСнно Π² Ρ‚Π°ΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚ΡŒΡΡ ошибка 504 gateway time out Nginx. Π’ нашСй сСгодняшнСй ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ попытаСмся Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ с Π½Π΅ΠΉ Π±ΠΎΡ€ΠΎΡ‚ΡŒΡΡ. Π Π°Π·Π±Π΅Ρ€Π΅ΠΌ нСсколько способов Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½.

Π§Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ 504 gateway time out Nginx?

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. Snimok ekrana ot 2017 07 11 18 00 41. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-Snimok ekrana ot 2017 07 11 18 00 41. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 07 11 18 00 41. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Как я ΡƒΠΆΠ΅ сказал, такая ошибка Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° сСрвСр Nginx Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прокси. НапримСр, ΠΏΡ€ΠΈ использовании php-fpm ΠΈΠ»ΠΈ Apache. Дословно, ΠΎΠ½Π° ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΎ врСмя оТидания ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ сСрвСра. Π’ нашСм случаС, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΎ врСмя оТидания ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΎΡ‚ php-fpm. Рассмотрим нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½ Ρ‚Π°ΠΊΠΎΠ³ΠΎ повСдСния:

Π”Π°Π»ΡŒΡˆΠ΅ рассмотрим Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ссли Π²Ρ‹ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΠ»ΠΈΡΡŒ с ошибкой 504 gateway time out Nginx.

Как ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ 504 gateway time out Nginx?

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. Snimok ekrana ot 2017 07 11 17 44 02. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-Snimok ekrana ot 2017 07 11 17 44 02. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 07 11 17 44 02. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Нагрузку Π½Π° процСссор ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ htop:

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. Snimok ekrana ot 2017 07 11 17 43 41. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-Snimok ekrana ot 2017 07 11 17 43 41. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 07 11 17 43 41. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ЕстСствСнно, Ссли Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ PHP Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всС процСссорноС врСмя, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² рСсурсах сСрвСра. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΊΠΎΠΏΠ°Ρ‚ΡŒΡΡ Π² Π΄Π²ΠΈΠΆΠΊΠ΅ своСго сайта, ΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎΠ± этом Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ ΠΈΠ»ΠΈ ΠΆΠ΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ VPS сСрвСр.

fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. Snimok ekrana ot 2017 07 11 18 01 34. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-Snimok ekrana ot 2017 07 11 18 01 34. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 07 11 18 01 34. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π—Π΄Π΅ΡΡŒ 300 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ 300 сСкунд, для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° скриптов, этого Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΏΠΎΠ»Π½Π΅ достаточно, Π½ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΅Ρ‰Π΅ большС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ссли это Π½ΡƒΠΆΠ½ΠΎ. Π’Π°ΠΊΠΆΠ΅ ошибка 504 ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Nginx ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² качСствС прокси для Apache ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π²Π΅Π±-сСрвСра, Ρ‚ΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ врСмя оТидания для прокси. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ эти строки Π² ΡΠ΅ΠΊΡ†ΠΈΡŽ server:

proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;

sudo systemctl restart nginx

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π² error.log:

Π”Π°Π»ΡŒΡˆΠ΅, Ссли ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΈΠΌΠ΅Π½Π½ΠΎ Π² php-fpm, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ скрипты Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ slow-log. Для Π΅Π΅ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ вашСго ΠΏΡƒΠ»Π°:

sudo vi /etc/php-fpm.d/www.conf

slowlog = /var/log/php-fpm/www-slow.log
request_slowlog_timeout = 5s

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. Snimok ekrana ot 2017 07 11 17 40 07. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-Snimok ekrana ot 2017 07 11 17 40 07. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 07 11 17 40 07. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π—Π΄Π΅ΡΡŒ 5 сСкунд, ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π»ΠΎΠ³ Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄ΡƒΡ‚ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒΡΡ скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ дольшС пяти сСкунд. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ своСму ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΈΡŽ. Π’ Π»ΠΎΠ³Π΅ Π²Ρ‹ смоТСтС ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сами скрипты, Π½ΠΎ ΠΈ трассировку ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ:

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. Snimok ekrana ot 2017 07 11 17 42 49. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-Snimok ekrana ot 2017 07 11 17 42 49. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Snimok ekrana ot 2017 07 11 17 42 49. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π”Π°Π»ΡŒΡˆΠ΅ останСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Ρ‡Ρ‚ΠΎ с этим Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрипты ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ лишниС ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли ΠΊΠ°ΠΊ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ 504 gateway time out Nginx 1.2 7, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ эта ошибка. НадСюсь, эта информация Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ для вас.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

РусскиС Π‘Π»ΠΎΠ³ΠΈ

nginx+php ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ 502 bad gateway Π’ΠΎΠΎΠ±Ρ‰Π΅ это Π½Π΅ nginx ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Π½ΠΎ ΠΈΠ·-Π·Π° fastcgi ΠΈΠ»ΠΈ php ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ‰ΠΈΠΌΠΈ.

php.ini ΠΈΠ· memory_limit Блишком малСнький (Ссли Π΅ΡΡ‚ΡŒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ php (Π­Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° процСсс ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ большой объСм памяти)

Π²ΠΈΠ΄ ΠΆΡƒΡ€Π½Π°Π» ошибок nginx НайдСно pstream sent too big header while reading response headerfrom upstream Π’ΠΎΠ³Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒ client head buffer , fastcgi buffer size ЯвляСтся Π»ΠΈ ΠΎΠ½ слишком малСньким, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° 32K 。

ВрСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ php слишком Π²Π΅Π»ΠΈΠΊΠΎ ΠΈ врСмя оТидания истСкло. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ настройки Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оТидания Π² nginx ΠΈ fastcgi. (Π’ nginx fastcgi_connect_timeout 300; 、 fastcgi_send_timeout 300; 、 fastcgi_read_timeout 300; 、 keepalive_timeout Π² php-fpm request_terminate_timeout Π’ php.ini max_execution_time οΌ‰

НаконСц, позаимствуйтС масло Wanjin ΠΎΠ½Π»Π°ΠΉΠ½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ подвСсти ΠΈΡ‚ΠΎΠ³: процСсс php-cgi нСдостаточСн, врСмя выполнСния php слишком Π²Π΅Π»ΠΈΠΊΠΎ ΠΈΠ»ΠΈ процСсс php-cgi ΡƒΠΌΠΈΡ€Π°Π΅Ρ‚, всС 502 ошибки ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄ΡƒΡ‚.

Ошибка 502 Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΈΠ΄Π½Π° всСм ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‚ PHP с nginx

БущСствуСт мноТСство ΠΏΡ€ΠΈΡ‡ΠΈΠ½ для nginx 502, Π½ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΠΈΡ‚ΡŒ нСдостаточным количСством рСсурсов, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ сущСствуСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ бэкэнда php-fpm, nginx отправляСт ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ запрос ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π² бэкэнд-процСсс php-fpm, Π½ΠΎ ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с процСссом php-fpm ΠΏΡ€ΠΈΠ²Π΅Π»Π° ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ php Π½Π΅ Π±Ρ‹Π» ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΈ Π² ΠΈΡ‚ΠΎΠ³Π΅ Π±Ρ‹Π» Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ с ошибкой 502.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° появлСния сСрвСра 502 Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ врСмя соСдинСния истСкло. ΠœΡ‹ отправляСм запрос Π½Π° сСрвСр. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π° сСрвСрС слишком ΠΌΠ½ΠΎΠ³ΠΎ ссылок, сСрвСр Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°.

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ссли ваш сСрвСр ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‡Π΅Π½ΡŒ большоС количСство ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ сначала Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для достиТСния Π»ΡƒΡ‡ΡˆΠΈΡ… Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ², Π½ΠΎ Ссли ваш ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌ Π½Π΅ Π²Π΅Π»ΠΈΠΊ, Π½ΠΎ появляСтся 502, это ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Π° сцСнария.

1. ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ процСссов php-fpm нСдостаточно

Но это Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ бСсконСчно. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство подпроцСссов php-fpm Π΄ΠΎ 100 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π² соотвСтствии с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ сСрвСра, 200 Π½Π° сСрвСрС с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ 4G.

2. Π£Π²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ количСство ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π² ядрС Linux

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ (Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записью root)

3. Π’Π°ΠΉΠΌ-Π°ΡƒΡ‚ выполнСния скрипта

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ скрипт Π½Π΅ возвращаСтся Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ запрос Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.

Nginx.conf Π² основном выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;

Если php-fpm.conf выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ

4. Настройки кСша ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π²Π΅Π»ΠΈΠΊΠΈ

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π² nginx.conf

proxy_buffer_size 64k;
proxy_buffers 512k;
proxy_busy_buffers_size 128k;

ВозмоТная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°: Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ Π·Π°Π»Π΅ потСряны ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΌ Π·Π°Π»Π΅ установлСн Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹ΠΉ брандмауэр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ доступ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΠΎΠΌΠ΅Π½Π°.

Но самоС Π³Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ php-fpm ΠΈΠ· request_terminate_timeout ,

Π›ΡƒΡ‡ΡˆΠΈΠΉ Π½Π°Π±ΠΎΡ€ request_terminate_timeout=0;

Π”Ρ€ΡƒΠ³ΠΎΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ большС, эта Π²Π΅Ρ‰ΡŒ Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сайта, Π½ΠΎ рСакция Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ, Ссли Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ большС. Если ваш сайт истСкаСт, ΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π΅Π³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ.

6. РСшСниС по 502:

ΠžΡ‚Ρ€Π΅Π³ΡƒΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ отставаниС ΠΎΡ‚ php ΠΈ Nginx.

PHP-FPM Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ с высокой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ

Π—Π΄Π΅ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вводится ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ php-fpm, Π½ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΈ использовании Π² сочСтании с nginx, Ссли ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, эффСкт Π½Π΅ особСнно Π²Π΅Π»ΠΈΠΊ, ΠΈ nginx Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Бсылка Π½Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Nginx:http://blog.haohtml.com/archives/6213 ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ Π²Ρ‹ΡˆΠ΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΈ Π΄ΠΎ ΠΈ послС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Ρ‹Π² ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΎ ΠΈ послС особСнно Π²Π΅Π»ΠΈΠΊ.

PHP-CGI (FASTCGI) ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΠ»ΠΎΡ…ΠΎΠΌΡƒ ΡˆΠ»ΡŽΠ·Ρƒ nginx 502

Ошибка частого Π²Π·Ρ€Ρ‹Π²Π° NGINX 502 BAD GATEWAY Π½Π΅ Π±Ρ‹Π»Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅ΡˆΠ΅Π½Π° послС прочтСния ΠΎΠ½Π»Π°ΠΉΠ½-ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ°.
Π’ настоящСС врСмя я ΠΊΡ€Π°Ρ‚ΠΊΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽ способы Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ 502 BAD GATEWAY: 1. Π’ зависимости ΠΎΡ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСрвСра ΡƒΠ²Π΅Π»ΠΈΡ‡ΡŒΡ‚Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ max_children Π² php-fmp.conf, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я сСйчас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ

РСгулярно ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ php-fpm с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ reload. Основная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ врСмя выполнСния скрипта php слишком Π²Π΅Π»ΠΈΠΊΠΎ, ΠΈ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠ° php-fpm ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. Как ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ сцСнарий php-cgi Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ памяти, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ 502 ошибки Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ дальнСйшСго обсуТдСния, Π² настоящСС врСмя этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ способом.
ΠšΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² использовании crontab для ΠΏΠ»Π°Π²Π½ΠΎΠ³ΠΎ пСрСзапуска php-fpm, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ сцСнариСв PHP.
/10 * * * /usr/local/php/sbin/php-fpm reload

When you running a highload websitewith PHP-FPM via FastCGI, the following tips may be useful to you : )

Если ваш высоконагруТСнный Π²Π΅Π±-сайт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ PHP-FPM для управлСния FastCGI, эти совСты ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ πŸ™‚

1.Compile PHP’s modules as less as possible, the simple the best (fast);

Increas PHP FastCGI child number to 100 and even more.Sometime, 200 is OK! ( On 4GB memory server);

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ способ связи Nginx ΠΈ FastCGI с TCP Π½Π° UnixSocket. TCP Π±ΠΎΠ»Π΅Π΅ стабилСн, Ρ‡Π΅ΠΌ UnixSocket, ΠΏΡ€ΠΈ высоком ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΌ доступС, Π½ΠΎ Unix Socket Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‡Π΅ΠΌ TCP.
fastcgi_pass unix:/tmp/php-cgi.sock;

source /etc/profile

vi /path/to/php-fpm.conf

Change 1024 to 4096 or higher number.

vi /path/to/php-fpm.conf

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚Π΅ 1024 Π½Π° 4096 ΠΈΠ»ΠΈ Π²Ρ‹ΡˆΠ΅
.

ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚Π΅ PHP-FPM.
6. Using PHP code accelerator,e.g eAccelerator, XCache. And set β€œcache_dir” to /dev/shm on Linux.
6. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚Π΅Π»ΡŒ php-ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ eAccelerator, XCache. На ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ Linux Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ cache_dir Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π° / dev / shm

Π˜Π½Ρ‚Π΅Π»Π»Π΅ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ рСкомСндация

Массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. c2e543c9e4b55ad2f042f337c378bd21. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-c2e543c9e4b55ad2f042f337c378bd21. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° c2e543c9e4b55ad2f042f337c378bd21. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ· стратСгий Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования MySQL

ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. e8b069bf7925f8aca6834f72415f3f05. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx Ρ„ΠΎΡ‚ΠΎ. ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx-e8b069bf7925f8aca6834f72415f3f05. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ врСмя выполнСния скрипта php nginx. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° e8b069bf7925f8aca6834f72415f3f05. Если Π²Ρ‹ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚ΠΎ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ большоС количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. На Ρ€Π°Π·Π½Ρ‹Ρ… хостингах стоят свои Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ‚Π°ΠΊΠΈΠ΅ дСйствия, ΠΈ Ссли сюда вас ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ это врСмя – Ρ‚ΠΎ я ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТу, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π°Π½Π΄Ρ€ΠΎΠΈΠ΄ устройства

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ADB ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊ устройству, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„Π°ΠΉΠ» устройства Android-студии Android ADB ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ устройству Android Экспорт Ρ„Π°ΠΉΠ»Π° с использованиСм Π² качСствС Ρ„Π°ΠΉΠ»Π° устройства Explorer Бпособ 2.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *