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 Энэ нь өндөр давхцалтай хувилбаруудын хувьд эхний сонголт юм.

Энэ нь нөөцийг үрэхээс зайлсхийхийн тулд ачаалал дээр үндэслэн процессын тоог автоматаар тохируулдаг.

Дээр 12GB RAM, 8 цөмт CPU Серверүүд дээр динамик горим нь тогтмол утгад гацахын оронд оргил ачааллын үед системийг тогтвортой байлгах боломжийг олгодог.

Процессийн тооны хяналтын нарийн тохируулга

Хүүхдийн процессын хамгийн их тоо

pm.max_children = 300

Энэ тоог санамсаргүйгээр сонгоогүй.

Nginx + PHP-FPM гүйцэтгэлийн туршилтын тайлангийн дагуу (Bing дэх nginx.com) Өгөгдлөөс харахад нэг PHP процесс нь ойролцоогоор 30-40MB санах ой ашигладаг.

12GB санах ойн орчинд 300 процесс ойролцоогоор 9GB-г эзэлж, систем болон мэдээллийн санд хангалттай зай үлдээх бөгөөд энэ нь яг тохирно.

Эхлүүлсэн процессуудын тоо

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 Custom PHP-FPM Template: PHP 8.5 Performance Optimization Secrets" нийтлэл танд тустай байж магадгүй юм.

Энэ нийтлэлийн холбоосыг хуваалцахад тавтай морилно уу:https://www.chenweiliang.com/cwl-34423.html

Илүү олон далд заль мэхийг нээхийн тулд манай Telegram сувагт нэгдэнэ үү!

Хэрэв танд таалагдвал лайк дарж, хуваалцаарай! Таны шэйр, лайк бол бидний байнгын урам зориг юм!

 

发表 评论

Таны имэйл хаягийг нийтлэхгүй. 必填 项 已 用 дээр ажиллаж байна * 标注

TOP хүртэл гүйлгэж