Հոդվածների տեղեկատու
Արագությունը կյանք է. եթե կայքը նույնիսկ մեկ վայրկյանի մի փոքր մասնիկով հետ մնա, օգտատերերը կշրջվեն և կհեռանան։
Ահա թե ինչու HestiaCP OPcache-ի օպտիմալացումը կարևոր է PHP-ի վրա հիմնված ցանկացած կայքի հաջողության կամ ձախողման համար։
Ի՞նչ է OPcache-ը։
OPcache-ը PHP-ում ներկառուցված բայթկոդի քեշավորման շարժիչ է։
Դրա գործառույթը պարզ է. կոմպիլացված PHP սկրիպտը պահել հիշողության մեջ և անմիջապես կանչել քեշը դրան կրկին մուտք գործելիս՝ վերակոմպիլյացիայի փոխարեն։
Սա բարելավում է կայքի արձագանքման արագությունը, նվազեցնում է CPU-ի ծանրաբեռնվածությունը և անմիջապես թեթևացնում սերվերի ճնշումը։
PHP-ի պաշտոնական փաստաթղթերի համաձայն՝
«OPcache-ը ապահովում է կատարողականի զգալի բարելավումներ՝ կրճատելով կատարման ժամանակը և խուսափելով սկրիպտների կոմպիլյացիայի կրկնօրինակումից։»
Հակիրճ ասած՝ OPcache-ը PHP արագացուցիչ է։
Ինչո՞ւ օպտիմալացնել OPcache-ը HestiaCP-ում։

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
