Ինչպե՞ս օպտիմալացնել OPcache-ը HestiaCP-ում: Opcode-ի քեշավորումը և PHP կոդի կոմպիլյացիան կարող են զգալիորեն բարձրացնել կայքի արագությունը:

Արագությունը կյանք է. եթե կայքը նույնիսկ մեկ վայրկյանի մի փոքր մասնիկով հետ մնա, օգտատերերը կշրջվեն և կհեռանան։

Ահա թե ինչու HestiaCP OPcache-ի օպտիմալացումը կարևոր է PHP-ի վրա հիմնված ցանկացած կայքի հաջողության կամ ձախողման համար։

Ի՞նչ է OPcache-ը։

OPcache-ը PHP-ում ներկառուցված բայթկոդի քեշավորման շարժիչ է։

Դրա գործառույթը պարզ է. կոմպիլացված PHP սկրիպտը պահել հիշողության մեջ և անմիջապես կանչել քեշը դրան կրկին մուտք գործելիս՝ վերակոմպիլյացիայի փոխարեն։

Սա բարելավում է կայքի արձագանքման արագությունը, նվազեցնում է CPU-ի ծանրաբեռնվածությունը և անմիջապես թեթևացնում սերվերի ճնշումը։

PHP-ի պաշտոնական փաստաթղթերի համաձայն՝

«OPcache-ը ապահովում է կատարողականի զգալի բարելավումներ՝ կրճատելով կատարման ժամանակը և խուսափելով սկրիպտների կոմպիլյացիայի կրկնօրինակումից։»

Հակիրճ ասած՝ OPcache-ը PHP արագացուցիչ է։

Ինչո՞ւ օպտիմալացնել OPcache-ը HestiaCP-ում։

Ինչպե՞ս օպտիմալացնել OPcache-ը HestiaCP-ում: Opcode-ի քեշավորումը և PHP կոդի կոմպիլյացիան կարող են զգալիորեն բարձրացնել կայքի արագությունը:

HestiaCP-ն թեթև կառավարման վահանակ է, որը շատերն օգտագործում են VPS կամ նվիրված սերվերներ կառավարելու համար։

OPcache-ը միացված է լռելյայնորեն, բայց պարամետրերը հաճախ պահպանողական են։

Առանց ճշգրտումների, կատարողականի բարելավումը սահմանափակ կլինի։

օրինակ:
4 միջուկով և 8 ԳԲ հիշողությամբ սերվերի վրա OPcache-ի լռելյայն հիշողությունը ընդամենը 64 ՄԲ է, իսկ քեշավորված ֆայլերի քանակը՝ ընդամենը 4000։
Սա միջին չափի համար է WordPress Կայքի համար դա պարզապես բավարար չէ։

Արդյունքում քեշը անընդհատ մաքրվում է, ինչը հանգեցնում է կատարողականի բազմիցս տատանումների։

Ստուգեք OPcache-ի ներկայիս կարգավիճակը

Գործարկեք հետևյալ հրամանը.

php -i | grep opcache.enable

Դուք կտեսնեք նմանատիպ արդյունքներ՝

  • opcache.enable => On: Սա նշանակում է, որ OPcache-ը միացված է PHP-FPM-ում:
  • opcache.enable_cli => Անջատված. Հրամանային տողի ռեժիմում միացված չէ։
  • opcache.enable_file_override => Անջատված. Ֆայլի փոխարինման գործառույթը միացված չէ։

Սա նշանակում է, որ չնայած OPcache-ն արդեն աշխատում է, դեռևս կա օպտիմալացման տեղ։

Խմբագրել PHP կոնֆիգուրացիայի ֆայլերը

HestiaCP-ում PHP կոնֆիգուրացիայի ֆայլի ուղին սովորաբար հետևյալն է.

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

CLI ռեժիմը միացնելու համար՝

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

Գտեք [opcache] բաժինը և ավելացրեք կամ փոփոխեք հետևյալ պարամետրերը՝

[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

Պարամետրերի մանրամասները և օպտիմալացման տրամաբանությունը

  • opcache.memory_consumption=256
    OPcache-ին 256 ՄԲ հիշողություն հատկացնելը հարմար է միջինից մինչև մեծ կայքերի համար։
    Փոքր կայքերի համար կարող եք այն սահմանել 128 ՄԲ։

  • opcache.interned_strings_buffer=16
    Ապահովում է 16 ՄԲ տողերի քեշ՝ կրկնօրինակ տողերի օգտագործումը նվազեցնելու համար։

  • opcache.max_accelerated_files=10000
    WordPress + պլագինի միջավայրում քեշավորված ֆայլերի առավելագույն քանակը խորհուրդ է տրվում լինել առնվազն 10000։

  • opcache.revalidate_freq=60
    Ֆայլերը ստուգվում են թարմացումների համար յուրաքանչյուր 60 վայրկյանը՝ հաճախակի մուտք/ելքը նվազեցնելու համար։

  • opcache.enable_cli=1
    CLI քեշավորման միացումը հարմար է հրամանի տողի գործիքների, ինչպիսիք են Artisan-ը և WP-CLI-ն, գործարկման համար։

  • opcache.enable_file_override=1
    Թույլ տվեք OPcache-ին ստանձնել ֆայլային համակարգի քեշը, ինչը կնվազեցնի սկավառակի հասանելիությունը։

  • opcache.validate_timestamps=0
  • Անջատել իրական ժամանակի հայտնաբերումըՆվազեցրեք ֆայլային համակարգի մուտք/ելքը և բարելավեք կատարողականը։
  • Սակայն սա նշանակում է, որ PHP ֆայլերը փոփոխելուց հետո դուք պետք է ձեռքով մաքրեք քեշը (վերագործարկեք PHP ծառայությունը):

Կարգավորումը փոփոխելուց հետո, փոփոխությունները ուժի մեջ մտնելու համար դուք պետք է վերագործարկեք PHP ծառայությունը։

sudo systemctl restart php<版本>-fpm

Այս պարամետրերի համադրությունը թույլ է տալիս կայքին կայուն մնալ նույնիսկ բարձր զուգահեռականության պայմաններում։

Վերագործարկեք PHP-FPM ծառայությունը

Փոփոխությունները կատարելուց հետո մի մոռացեք վերագործարկել ծառայությունը.

sudo systemctl restart php8.x-fpm

Այնուհետև կրկին գործարկեք այն՝

php -i | grep opcache

Պարամետրերը հաստատվել են թարմացված լինելու համար։

Արտադրական միջավայրերում լավագույն փորձը

Արտադրական միջավայրերում OPcache-ի օպտիմալացումը ներառում է ոչ միայն պարամետրերի կարգավորում, այլև հետևյալ ռազմավարությունները՝

1. Մաքրել քեշը տեղակայման ընթացքում

Յուրաքանչյուր կոդի թարմացումից հետո OPcache-ը պետք է մաքրվի, հակառակ դեպքում կարող է բեռնվել ավելի հին տարբերակ։

Դուք կարող եք CI/CD սկրիպտին ավելացնել հետևյալը՝

<?php
opcache_reset();

Այլընտրանքորեն, կատարեք այն տեղակայման գործընթացի ընթացքում՝

systemctl reload php8.x-fpm

2. Խուսափեք հաճախակի մաքրությունից

Քեշի չափազանց հաճախակի մաքրումը կարող է հանգեցնել կատարողականի վատթարացման։
Խորհուրդ է տրվում մաքրել միայն կոդի թարմացման ժամանակ, այլ ոչ թե պարբերաբար մաքրել։

3. Հետևեք OPcache-ի օգտագործմանը։

Դուք կարող եք ստուգել քեշի հարվածի հաճախականությունը իրական ժամանակում՝ օգտագործելով `php -i | grep opcache`-ը կամ տեղադրելով Opcache Control Panel հավելվածը։
95%-ից բարձր հարվածի մակարդակը ցույց է տալիս ողջամիտ կոնֆիգուրացիա։

Zend-ի պաշտոնական կատարողականության թեստերի համաձայն, OPcache-ի միացումը կարող է մինչև 3 անգամ բարելավել PHP սկրիպտի կատարման արագությունը և 50%-ով կրճատել CPU-ի օգտագործումը։

Սա ինչ-որ միստիկ տեսություն չէ, սա հստակ տվյալներ են։

Եզրակացություն. Իմ տեսակետները և հիմնական մեջբերումները

Իմ կարծիքով, OPcache-ը կայքի համար «տուրբո լիցքավորիչի» նման է։ Առանց դրա PHP-ն նման է առանց տուրբո լիցքավորիչի մեքենայի, որը դանդաղ է աշխատում և վատնում է վառելիքը։

OPcache-ի օպտիմալացումը ոչ միայն տեխնիկական մանրուք է, այլև կայքի գործունեության ռազմավարական ընտրություն։

Որովհետև արագությունը հավասար է փոխակերպման մակարդակին, իսկ կատարողականությունը՝ մրցունակությանը։

Հիմնական մեջբերում. Կայքի ապագան կայանում է ոչ թե նրա կոդի նրբագեղության մեջ, այլ նրանում, թե որքան արագ այն կարող է այնքան արագ արձագանքել, որ օգտատերերը նույնիսկ աչքը թարթելու ժամանակ չունենան։

Հետևաբար, դադարեք թույլ տալ սերվերներին վատնել ռեսուրսները անարդյունավետ ցիկլերում։

Օպտիմալացրեք ձեր HestiaCP OPcache-ը հիմա և դարձրեք ձեր կայքը թռչող։

Կցանկանայի՞ք, որ ես գրեմ ձեր արտադրական միջավայրի համար լավագույն OPcache կոնֆիգուրացիայի ձևանմուշ, որը կարող եք անմիջապես պատճենել և օգտագործել php.ini ֆայլում։

Հույս Chen Weiliang բլոգ ( https://www.chenweiliang.com/ Այստեղ ներկայացված «Ինչպե՞ս օպտիմալացնել OPcache-ը HestiaCP-ում։ Opcode-ի քեշավորում և PHP կոդի կոմպիլյացիա՝ ձեր կայքը թռիչքաձև դարձնելու համար» հոդվածը կարող է օգտակար լինել ձեզ համար։

Բարի գալուստ՝ կիսելու այս հոդվածի հղումը.https://www.chenweiliang.com/cwl-34197.html

Ավելի շատ թաքնված հնարքներ բացահայտելու համար🔑, միացեք մեր Telegram ալիքին։

Տարածեք և հավանեք, եթե ձեզ դուր եկավ: Ձեր կիսումներն ու հավանումները մեր շարունակական շարժառիթն են:

 

发表 评论

Ձեր էլփոստի հասցեն չի հրապարակվի: Օգտագործվում են պահանջվող դաշտերը * Պիտակ

Հոդվածների տեղեկատու
Ոլորել դեպի սկիզբ