8-core 24GB VPS yana ƙarewa da ƙwaƙwalwa? Tsarin tsarin PHP-FPM mai tsauri a cikin HestiaCP

Adadin masu amfani da sabar za ta iya sarrafawa a lokaci guda ba ya dogara ne akan adadin cores ɗin da take da su ba, amma akan adadin ƙwaƙwalwar da kowane tsari ke cinyewa.

Wannan magana na iya yin kama da tsokana, amma ita ce mafi gaskiya kuma mafi zafi a cikin masana'antar ayyuka da gyara.

Me yasa ƙwaƙwalwar ajiya ta zama babban cikas?

Mutane da yawa suna ganin VPS mai CPU mai core 8 da 24GB na ƙwaƙwalwa kuma suna tunanin cewa suna iya gudanar da ɗaruruwan hanyoyin PHP-FPM cikin sauƙi.

Duk da haka, a zahiri, amfani da ƙwaƙwalwar RSS na tsarin PHP guda ɗaya sau da yawa yana da girman 200MB.

Wannan shine sakamakon da aka samu ta hanyar gwaji na gaske ta hanyar layin umarni:

ps --no-headers -o rss -p $(pgrep php-fpm) | awk '{sum+=$1} END {print sum/NR/1024 " MB"}'

A cikin tsarin HestiaCP mai rikitarwa da yanayin plugins da yawa, musamman ba tare da inganta OPcache ba, 200MB shine al'ada.

Wannan yana nufin cewa ƙwaƙwalwar ajiya, ba CPU ba, ita ce iyaka mai tauri da ke ƙayyade matsakaicin daidaituwa.

8-core 24GB VPS yana ƙarewa da ƙwaƙwalwa? Tsarin tsarin PHP-FPM mai tsauri a cikin HestiaCP

Fayil ɗin da aka ba da shawarar daidaitawa (php-fpm.conf)

pm = dynamic
pm.max_children = 80
pm.start_servers = 16
pm.min_spare_servers = 8
pm.max_spare_servers = 24
pm.max_requests = 500
pm.process_idle_timeout = 10s
request_terminate_timeout = 60s

Dabarar lissafi da tushen saiti

Sigar daidaitawaƘimar saitawaƘididdigar asali da tushen saiti
pmdynamicYanayin aiki mai tsauri yana ba da damar ƙarawa ko share hanyoyin aiki bisa ga buƙatun daidaito, daidaita saurin amsawa da amfani da ƙwaƙwalwa.
pm.max_yara80Jimlar ƙwaƙwalwar ajiya 24GB an cire tsarin kernel da MySQL/RedisBayan Nginx, kusan 16GB ya rage don PHP.16,384 MB / 200 MB ≈ 81.9Saita shi zuwa 80 zai iya kawar da OOM (Ba a Ƙwaƙwalwar ajiya ba) gaba ɗaya yayin da ake samun daidaito sosai.
masu amfani da pm.start_sabobi16An saita dumamawa kafin farawa zuwa ninki biyu na adadin CPU (cores 8 × 2 = 16) don tabbatar da cewa sabis ɗin zai iya sarrafa daidaiton asali nan take bayan sake kunnawa.
pm.min_sabar_kaya8Saita adadin CPU zuwa core 8 domin tabbatar da cewa ana iya amsa sabbin buƙatu a kowane lokaci a lokacin ƙarancin zirga-zirga.
masu_sabobin_na_pm.max24Saita shi zuwa sau 3 adadin ƙwayoyin CPU (ƙwayoyin 8 × 3 = 24) don riƙe matsakaicin adadin hanyoyin aiki bayan zirga-zirgar ta ragu, domin magance ƙananan canje-canje.
pm.max_requests500Idan tsari ɗaya ya kai babban tushe na 200MB, rage yawan buƙatun zuwa 500 kafin a lalata da sake ginawa na iya tsaftace ɓullar ƙwaƙwalwar ajiya da sauri.
pm.process_idle_timeout10sWuce gona da iri min_spare_servers Ana fitar da ayyukan rashin aiki ta atomatik kuma a mayar da su zuwa ƙwaƙwalwar tsarin bayan daƙiƙa 10 ba tare da buƙatar komai ba.

Saitunan Tallafi Masu Muhimmanci da Shawarwari Kan Ingantawa

1. Tsarin hana shaye-shaye na lokaci-lokaci

request_terminate_timeout = 60s Wannan shine mabuɗin.

Zai iya tilasta dakatar da ayyukan da suka makale saboda toshewar bayanai ko toshewar API ta wasu kamfanoni.

A halin yanzu, Nginx fastcgi_read_timeout Dole ne a ajiye shi aƙalla daƙiƙa 60, in ba haka ba abokin ciniki zai karɓi shi da wuri. 504 Gateway Timeout.

2. Dabaru don shawo kan matsalolin ƙwaƙwalwa

Matsakaicin matakai 80 a lokaci guda yana nufin cewa a ƙarƙashin yanayi mai tsanani na haɗuwa, tsarin zai iya ɗaukar matsakaicin buƙatun HTTP masu ƙarfi 80 a lokaci guda.

Idan kana son ƙara inganta ƙarfin aiki, ya kamata a mai da hankali kan rage yawan amfani da ƙwaƙwalwa a kowane tsari.

  • Kunna OPcache: a ciki php.ini Tsarin matsakaici opcache.enable=1 da opcache.memory_consumption=256Caching na bytecode na iya rage yawan amfani da ƙwaƙwalwar ajiya na tsari ɗaya daga 200MB zuwa 60 ~ 100MB.
  • Ikon sarrafa memory_limit mai kyau:Wasiyya php.ini tsakiya memory_limit Iyaka ga 128M 或 256MDon hana rubutattun marasa kyau na mutum ɗayamarar iyakaYana cinye ƙwaƙwalwa sosai.

Da zarar amfani da ƙwaƙwalwar ajiya guda ɗaya ya ragu zuwa 100MB…pm.max_children Ana iya inganta shi lafiya zuwa 150 Bugu da ƙari, ƙarfin haɗin gwiwa ya kusan ninka sau biyu.

An ambaci ra'ayoyi masu iko

Dangane da shawarwarin da ke cikin takardun Nginx na hukuma :

"Ya kamata a riƙa sa ido kan aikace-aikacen FastCGI tare da umarnin dakatar da aiki don hana gajiyar albarkatu."
(Tushe: Nginx Docs)

Littafin PHP na hukuma ya bayyana a sarari:

"pm.max_children yana bayyana matsakaicin adadin ayyukan yara da za a ƙirƙira. Wannan shine mafi mahimmancin umarni."
(Tushe: Takardun PHP-FPM)

Waɗannan ra'ayoyi masu iko sun yi daidai da ayyukanmu, suna tabbatar da cewa dabarun ingantawa ba wai kawai sun dogara ne akan gogewa ba, har ma da mafi kyawun ayyuka.

Kammalawa: Ra'ayina da Mahimman Kalamai

A cikin yanayi masu yawan jituwa, CPU shine injin, ƙwaƙwalwar ajiya ita ce tankin mai, kuma PHP-FPM shine mai aika jiragen ruwa.

Komai ƙarfin injin ɗin, idan tankin mai bai isa ba, ayarin motocin ba za su yi nisa sosai ba.

Masana na gaskiya ba sa yin amfani da ma'auni sosai a ɓoye, sai dai kawai su ƙididdige amfani da ƙwaƙwalwar ajiya na kowane tsari don guje wa ɓarna da kuma yawan ruwa.

Ma'anar ingantawa ita ce a sami daidaito mafi kyau tare da ƙarancin albarkatu.

Wannan ba fasaha ce kawai ba, har ma da falsafa.

Saboda haka, ka daina yarda cewa "adadin tsakiya yana ƙayyade komai." Abin da ke ƙayyade iyakar daidaito shine ikonka akan ƙwaƙwalwa.

Ɗauki mataki kuma inganta VPS ɗinka zuwa ga mafi kyawun ƙarfinsa, ta amfani da duk wani ɗigon ƙwaƙwalwa.

comments

您的邮箱地址不会被公开。必填项已用*标注

Gungura zuwa top