Kā optimizēt OPcache programmā HestiaCP? Opkoda kešatmiņa un PHP koda kompilēšana var ievērojami palielināt vietnes ātrumu.

Ātrums ir dzīve; ja vietne atpaliek pat par sekundes daļu, lietotāji apgriezīsies un aizies.

Tāpēc HestiaCP OPcache optimizēšana ir ļoti svarīga jebkuras vietnes, kas balstās uz PHP, panākumiem vai neveiksmēm.

Kas ir OPcache?

OPcache ir iebūvēts baitkoda kešatmiņas dzinējs PHP.

Tās funkcija ir vienkārša: saglabāt kompilēto PHP skriptu kešatmiņā un, piekļūstot tam vēlreiz, izsaukt kešatmiņu, nevis veikt atkārtotu kompilāciju.

Tas uzlabo vietnes reakcijas ātrumu, samazina procesora slodzi un uzreiz mazina servera slodzi.

Saskaņā ar oficiālo PHP dokumentāciju:

"OPcache nodrošina ievērojamus veiktspējas uzlabojumus, samazinot izpildes laiku, izvairoties no skriptu kompilācijas dublēšanās."

Īsāk sakot: OPcache ir PHP paātrinātājs.

Kāpēc optimizēt OPcache programmā HestiaCP?

Kā optimizēt OPcache programmā HestiaCP? Opkoda kešatmiņa un PHP koda kompilēšana var ievērojami palielināt vietnes ātrumu.

HestiaCP ir viegls vadības panelis, ko daudzi cilvēki izmanto VPS vai speciālu serveru pārvaldībai.

OPcache pēc noklusējuma ir iespējots, taču parametri bieži vien ir konservatīvi.

Bez korekcijām veiktspējas uzlabojums būs ierobežots.

piemēram:
Serverī ar 4 kodoliem un 8 GB atmiņu noklusējuma OPcache atmiņa ir tikai 64 MB, un kešatmiņā saglabāto failu skaits ir tikai 4000.
Tas ir paredzēts vidēja izmēra WordPress Tīmekļa vietnei ar to vienkārši nepietiek.

Rezultātā kešatmiņa tiek pastāvīgi notīrīta, kā rezultātā veiktspēja atkārtoti svārstās.

Pārbaudiet pašreizējo OPcache statusu

Palaidiet šādu komandu:

php -i | grep opcache.enable

Jūs redzēsiet līdzīgus rezultātus:

  • opcache.enable => Ieslēgts: Tas nozīmē, ka OPcache ir iespējots PHP-FPM.
  • opcache.enable_cli => Izslēgts: Nav iespējots komandrindas režīmā.
  • opcache.enable_file_override => Izslēgts: Failu ignorēšanas funkcionalitāte nav iespējota.

Tas nozīmē, ka, lai gan OPcache jau darbojas, joprojām ir iespējams optimizēt.

Rediģēt PHP konfigurācijas failus

HestiaCP PHP konfigurācijas faila ceļš parasti ir:

/etc/php/8.x/fpm/php.ini

Lai iespējotu CLI režīmu:

/etc/php/8.x/cli/php.ini

Atrodiet sadaļu [opcache] un pievienojiet vai modificējiet šādus parametrus:

[opcache]
; 启用 OPcache
opcache.enable=1
opcache.enable_cli=1

; 内存与缓存设置
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000

; 文件更新检测
opcache.validate_timestamps=0
opcache.revalidate_freq=60

; 其他优化参数
opcache.save_comments=1
opcache.fast_shutdown=1
opcache.enable_file_override=1

Parametru detaļas un optimizācijas loģika

  • opcache.memory_consumption=256
    256 MB atmiņas piešķiršana OPcache ir piemērota vidēja un liela izmēra tīmekļa vietnēm.
    Mazām tīmekļa vietnēm to var iestatīt uz 128 MB.

  • opcache.interned_strings_buffer=16
    Nodrošina 16 MB virkņu kešatmiņu, lai samazinātu dublētu virkņu izmantošanu.

  • opcache.max_accelerated_files=10000
    WordPress + spraudņu vidē ieteicamais maksimālais kešatmiņā saglabāto failu skaits ir vismaz 10 000.

  • opcache.revalidate_freq=60
    Faili tiek pārbaudīti ik pēc 60 sekundēm, lai samazinātu biežu ievades/izvades darbību skaitu.

  • opcache.enable_cli=1
    CLI kešatmiņas iespējošana ir piemērota komandrindas rīku, piemēram, Artisan un WP-CLI, palaišanai.

  • opcache.enable_file_override=1
    Ļaujiet OPcache pārņemt failu sistēmas kešatmiņu, vēl vairāk samazinot piekļuvi diskam.

  • opcache.validate_timestamps=0
  • Atspējot reāllaika noteikšanuSamaziniet failu sistēmas ievadizvadi un uzlabojiet veiktspēju.
  • Tomēr tas nozīmē, ka pēc PHP failu modificēšanas kešatmiņa ir jānotīra manuāli (jārestartē PHP pakalpojums).

Pēc konfigurācijas modificēšanas ir jārestartē PHP pakalpojums, lai izmaiņas stātos spēkā.

sudo systemctl restart php<版本>-fpm

Šo parametru kombinācija ļauj vietnei saglabāt stabilitāti pat augstas vienlaicīguma apstākļos.

Restartējiet PHP-FPM pakalpojumu

Pēc izmaiņu veikšanas atcerieties restartēt pakalpojumu:

sudo systemctl restart php8.x-fpm

Pēc tam palaidiet to vēlreiz:

php -i | grep opcache

Ir apstiprināts, ka parametri ir atjaunināti.

Labākā prakse ražošanas vidē

Ražošanas vidē OPcache optimizācija ietver ne tikai parametru regulēšanu, bet arī šādas stratēģijas:

1. Notīriet kešatmiņu izvietošanas laikā

Pēc katra koda atjaunināšanas ir jāiztīra OPcache; pretējā gadījumā var tikt ielādēta vecāka versija.

CI/CD skriptam var pievienot sekojošo:

<?php
opcache_reset();

Varat arī to izpildīt izvietošanas procesā:

systemctl reload php8.x-fpm

2. Izvairieties no biežas tīrīšanas

Pārāk bieža kešatmiņas tīrīšana var izraisīt veiktspējas pasliktināšanos.
Ieteicams tīrīt tikai tad, kad kods tiek atjaunināts, nevis regulāri.

3. Uzraugiet OPcache lietojumu.

Kešatmiņas sasniegumu līmeni reāllaikā var pārbaudīt, izmantojot komandu `php -i | grep opcache` vai instalējot Opcache vadības paneļa spraudni.
Sasniegumu līmenis virs 95% norāda uz saprātīgu konfigurāciju.

Saskaņā ar Zend oficiālajiem veiktspējas testiem, OPcache iespējošana var uzlabot PHP skriptu izpildes ātrumu līdz pat 3 reizēm un samazināt centrālā procesora noslodzi par 50%.

Tā nav kaut kāda mistiska teorija; tie ir stabili dati.

Secinājums: Mani viedokļi un galvenie citāti

Manuprāt, OPcache ir kā tīmekļa vietnes "turbokompresors". Bez tā PHP ir kā automašīna bez turbokompresora, kas darbojas lēni un tērē degvielu.

OPcache optimizācija nav tikai tehniska detaļa, bet arī stratēģiska izvēle vietnes darbībai.

Jo ātrums ir vienāds ar konversijas līmeni, un veiktspēja ir vienāda ar konkurētspēju.

Galvenais citāts: Tīmekļa vietnes nākotne nav atkarīga no tā, cik izsmalcināts ir tās kods, bet gan no tā, cik ātri tā var reaģēt tik ātri, ka lietotājiem pat nav laika pamirkšķināt.

Tāpēc pārtrauciet ļaut serveriem tērēt resursus neefektīvās cilpās.

Optimizējiet savu HestiaCP OPcache tūlīt un lieciet savai vietnei lidot.

Vai vēlaties, lai es uzrakstu jūsu ražošanas videi vislabāko OPcache konfigurācijas veidni, kuru pēc tam varat tieši nokopēt un izmantot php.ini failā?

发表 评论

Jūsu e-pasta adrese netiks publicēta. 必填 项 已 用 * Etiķete

Rakstu katalogs
Ritiniet uz augšu