Шаблон HestiaCP для PHP-FPM: сакрэты аптымізацыі прадукцыйнасці PHP 8.5

HestiaCP Налада шаблонаў PHP-FPM на практыцы: на прыкладзе PHP 8.5

Як толькі трафік сервера рэзка ўзрастае, шаблон PHP-FPM па змаўчанні, як папяровы брандмаўэр, імгненна перагружаецца, што прыводзіць да падзення прадукцыйнасці.

Вось чаму я табе кажу:Карыстальніцкія шаблоны — гэта не варыянт, а пытанне жыцця і смерці.

Навошта выкарыстоўваць карыстальніцкі шаблон?

У HestiaCP шаблон па змаўчанні будзе перазапісаны абнаўленнямі сістэмы.

Гэта азначае, што параметры, якія вы старанна наладжвалі, могуць імгненна знікнуць пасля абнаўлення.

Згодна з афіцыйнай дакументацыяй PHP,pm.max_children Гэтыя параметры непасрэдна вызначаюць магчымасці паралельнасці; пасля скіду прадукцыйнасць вэб-сайта рэзка знізіцца.

Такім чынам, скапіруйце шаблон па змаўчанні і стварыце новы. custom-PHP8_5.tplАдзіны спосаб забяспечыць стабільнасць — выбраць яго на панэлі.

Шаблон HestiaCP для PHP-FPM: сакрэты аптымізацыі прадукцыйнасці PHP 8.5

Асноўная логіка кіравання працэсамі

Перавагі дынамічнага рэжыму

pm = dynamic Гэта першы выбар для сцэнарыяў з высокай паралельнасцю.

Ён аўтаматычна рэгулюе колькасць працэсаў у залежнасці ад нагрузкі, каб пазбегнуць марнавання рэсурсаў.

На 12 ГБ аператыўнай памяці, 8-ядзерны працэсар На серверах дынамічны рэжым дазваляе сістэме заставацца стабільнай у перыяды пікавай нагрузкі, а не затрымлівацца на фіксаваным значэнні.

Дакладная налада кіравання нумарамі працэсаў

Максімальная колькасць даччыных працэсаў

pm.max_children = 300

Гэтая лічба была выбрана не выпадкова.

Згодна са справаздачай аб тэсціраванні прадукцыйнасці Nginx + PHP-FPM (nginx.com у Bing) Згодна з дадзенымі, адзін працэс PHP спажывае прыблізна 30–40 МБ памяці.

У асяроддзі з 12 ГБ памяці 300 працэсаў будуць займаць прыкладна 9 ГБ, пакідаючы дастаткова месца для сістэмы і базы дадзеных, што цалкам нармальна.

Колькасць запушчаных працэсаў

pm.start_servers = 32

Гэта гарантуе, што вэб-сайт мае дастаткова працэсаў для апрацоўкі запытаў пры запуску, прадухіляючы затрымкі падчас халодных стартаў.

Кіраванне працэсам у рэжыме чакання

  • pm.min_spare_servers = 16
  • pm.max_spare_servers = 64

Гэтыя два параметры дзейнічаюць як «брамнікі», забяспечваючы дастатковую колькасць рэзервовых працэсаў без марнавання рэсурсаў.

Запыт на кантроль і стабільнасць

Максімальная колькасць запытаў

pm.max_requests = 1000

Кожны працэс аўтаматычна перазапускаецца пасля апрацоўкі 1000 запытаў, каб пазбегнуць уцечкі памяці.

Гэта афіцыйная рэкамендаваная практыка ў PHP, якая можа эфектыўна прадухіліць зніжэнне прадукцыйнасці, выкліканае працяглай працай.

Запыт перавысіў час чакання

request_terminate_timeout = 60s

Запыты, якія перавышаюць 60 секунд, будуць прымусова спыненыя.

Гэта падобна на даданне ў сістэму страхавога ўзроўню, каб прадухіліць збой усяго сервера з-за тупіка.

Практычнае прымяненне маніторынгу прадукцыйнасці

Павольны запіс журнала

slowlog = /var/log/php8.5-fpm-%domain%.slow.log

Любы запыт, які займае больш за 5 секунд, будзе зарэгістраваны.

Гэта дазваляе вам быць дакладнымПазіцыянаваннеЗасяродзьцеся на вузкіх месцах у прадукцыйнасці, а не на здагадках.

Павольны час чакання запыту

request_slowlog_timeout = 5s

Павольныя журналы запускаюцца, калі час перавышае 5 секунд, што дапамагае хутка выяўляць праблемы.

Неабходнасць бяспекі і ізаляцыі

Абмежаванні каталога

php_admin_value[open_basedir]

Гэта абмяжоўвае PHP-скрыпты доступам толькі да пэўных каталогаў, прадухіляючы міжсайтавы доступ.

Гэта асабліва важна ў асяроддзі з некалькімі сайтамі, каб прадухіліць уплыў уразлівасці на адным сайце на іншыя сайты.

Часовыя файлы і ізаляцыя сеансаў

php_admin_value[session.save_path] супраць upload_tmp_dir

Захоўвайце часовыя файлы і сесіі ў каталогу карыстальніка для павышэння бяспекі.

Гэта падобна на ўстаноўку асобнага сейфа для кожнага сайта, каб яны не перашкаджалі адзін аднаму.

Як прымяніць карыстальніцкі шаблон

Скапіяваць шаблон па змаўчанні

cp /usr/local/hestia/data/templates/web/php-fpm/default.tpl \
   /usr/local/hestia/data/templates/web/php-fpm/custom-PHP8_5.tpl

Змяніць параметры канфігурацыі

Наладжвайце ў залежнасці ад рэсурсаў і патрэб сервера. pm.max_children,request_terminate_timeout Пачакай.

Выберыце шаблон на панэлі HestiaCP.

Панэль уваходу → Вэб → Рэдагаваць дамен → Шаблон PHP-FPM → Выбраць custom-PHP8_5.tpl

Захаваць і прымяніць

Сістэма адразу ж загрузіць новую канфігурацыю шаблону.

Рэальныя выпадкі на практыцы

Я калісьці быў на Пікавы трафік у 5000 адначасовых карыстальнікаў Гэта было пратэставана на серверы.

Пры выкарыстанні шаблону па змаўчанні час водгуку рэзка павялічваецца 3.2 секунды.

пераключыцца на custom-PHP8_5.tpl Пасля гэтага час рэагавання стабілізаваўся на ўзроўні 0.8 секунды.

У гэтым і заключаецца сіла карыстальніцкіх шаблонаў.

Выснова: Мой пункт гледжання

У свеце аптымізацыі сервераў шаблоны з'яўляюцца асноўным парадкам.

Калі вы ўсё яшчэ абапіраецеся на шаблон па змаўчанні, гэта як перадаць раскошны аўтамабіль пачаткоўцу-кіроўцу — машына можа лёгка разбіцца.

Сапраўдныя эксперты ведаюць, як выкарыстоўваць карыстальніцкія шаблоны для забеспячэння стабільнасці і наладжваць параметры для павышэння прадукцыйнасці.

Мой дэвіз: канфігурацыя — гэта не дэталь, а стратэгія, якая вызначае жыццё ці смерць.

Дык давайце дзейнічаць.

Скапіруйце шаблон, змяніце параметры і выберыце... custom-PHP8_5.tpl.

Захоўвайце надзейнасць вашага сервера нават пры высокай адначасовасці.

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ Артыкул «Шаблон HestiaCP для PHP-FPM: сакрэты аптымізацыі прадукцыйнасці PHP 8.5», прыведзены тут, можа быць карысным для вас.

Запрашаем падзяліцца спасылкай на гэты артыкул:https://www.chenweiliang.com/cwl-34423.html

Каб адкрыць больш схаваных хітрасцяў🔑, далучайцеся да нашага канала ў Telegram!

Падзяліцеся і пастаўце лайкі, калі вам гэта падабаецца! Вашы акцыі і лайкі - наша пастаянная матывацыя!

 

发表 评论

Ваш электронны адрас не будзе апублікаваны. 必填 项 已 用 * Этыкетка

Пракрутка да пачатку