បញ្ជីអត្ថបទ
ល្បឿនគឺជាជីវិត; ប្រសិនបើគេហទំព័រមួយនៅពីក្រោយសូម្បីតែមួយប្រភាគនៃវិនាទី អ្នកប្រើប្រាស់នឹងងាកចេញ ហើយចាកចេញ។
នោះហើយជាមូលហេតុដែល HestiaCP ការបង្កើនប្រសិទ្ធភាព OPcache គឺមានសារៈសំខាន់ខ្លាំងណាស់ចំពោះភាពជោគជ័យ ឬបរាជ័យរបស់គេហទំព័រណាមួយដែលពឹងផ្អែកលើ PHP។
តើ OPcache ជាអ្វី?
OPcache គឺជាម៉ាស៊ីន caching bytecode ដែលភ្ជាប់មកជាមួយនៅក្នុង PHP។
មុខងាររបស់វាគឺសាមញ្ញ៖ រក្សាទុកស្គ្រីប PHP ដែលបានចងក្រងនៅក្នុងអង្គចងចាំ ហើយហៅឃ្លាំងសម្ងាត់ដោយផ្ទាល់នៅពេលចូលប្រើវាម្តងទៀត ជំនួសឱ្យការចងក្រងឡើងវិញ។
វាជួយបង្កើនល្បឿនឆ្លើយតបគេហទំព័រ កាត់បន្ថយបន្ទុក CPU និងកាត់បន្ថយសម្ពាធម៉ាស៊ីនមេភ្លាមៗ។
យោងតាមឯកសារផ្លូវការរបស់ PHP៖
"OPcache ផ្តល់នូវការកែលម្អដំណើរការយ៉ាងសំខាន់ដោយកាត់បន្ថយពេលវេលាប្រតិបត្តិដោយជៀសវាងការចម្លងនៃការចងក្រងស្គ្រីប។"
សរុបមក OPcache គឺជាកម្មវិធីបង្កើនល្បឿន PHP។
ហេតុអ្វីបានជាត្រូវបង្កើនប្រសិទ្ធភាព OPcache នៅក្នុង HestiaCP?

HestiaCP គឺជាបន្ទះត្រួតពិនិត្យទម្ងន់ស្រាលដែលមនុស្សជាច្រើនប្រើដើម្បីគ្រប់គ្រង VPS ឬម៉ាស៊ីនមេដែលឧទ្ទិស។
OPcache ត្រូវបានបើកតាមលំនាំដើម ប៉ុន្តែប៉ារ៉ាម៉ែត្រច្រើនតែមានលក្ខណៈអភិរក្ស។
បើគ្មានការកែតម្រូវទេ ការកែលម្អប្រសិទ្ធភាពនឹងមានកម្រិត។
ឧទាហរណ៍:
នៅលើម៉ាស៊ីនមេដែលមាន ៤ ស្នូល និងអង្គចងចាំ ៨GB អង្គចងចាំ OPcache លំនាំដើមមានត្រឹមតែ ៦៤MB ប៉ុណ្ណោះ ហើយចំនួនឯកសារដែលបានរក្សាទុកក្នុងឃ្លាំងសម្ងាត់មានត្រឹមតែ ៤០០០ ប៉ុណ្ណោះ។
នេះសម្រាប់ទំហំមធ្យម WordPress សម្រាប់គេហទំព័រមួយ វាមិនគ្រប់គ្រាន់ទេ។
លទ្ធផលគឺថា ឃ្លាំងសម្ងាត់ត្រូវបានសម្អាតឥតឈប់ឈរ ដែលបណ្តាលឱ្យដំណើរការប្រែប្រួលម្តងហើយម្តងទៀត។
ពិនិត្យមើលស្ថានភាព OPcache បច្ចុប្បន្ន
ដំណើរការពាក្យបញ្ជាខាងក្រោម៖
php -i | grep opcache.enable
អ្នកនឹងឃើញលទ្ធផលស្រដៀងគ្នាទៅនឹង៖
- opcache.enable => បើក៖ នេះមានន័យថា 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=256
ការបែងចែកអង្គចងចាំទំហំ 256MB ទៅ OPcache គឺសមរម្យសម្រាប់គេហទំព័រទំហំមធ្យមទៅធំ។
សម្រាប់គេហទំព័រតូចៗ អ្នកអាចកំណត់វាទៅ 128MB។opcache.interned_strings_buffer=16
ផ្ដល់ឃ្លាំងសម្ងាត់ខ្សែអក្សរ 16MB ដើម្បីកាត់បន្ថយការប្រើប្រាស់ខ្សែអក្សរស្ទួន។opcache.max_accelerated_files=10000
ចំនួនឯកសារដែលបានរក្សាទុកក្នុងឃ្លាំងសម្ងាត់អតិបរមាត្រូវបានណែនាំឱ្យមានយ៉ាងហោចណាស់ 10000 នៅក្នុងបរិស្ថាន WordPress + កម្មវិធីជំនួយ។opcache.revalidate_freq=60
ឯកសារត្រូវបានពិនិត្យរកការអាប់ដេតរៀងរាល់ 60 វិនាទីម្តង ដើម្បីកាត់បន្ថយ I/O ញឹកញាប់។opcache.enable_cli=1
ការបើកដំណើរការ CLI caching គឺសមរម្យសម្រាប់ការដំណើរការឧបករណ៍បន្ទាត់ពាក្យបញ្ជាដូចជា Artisan និង WP-CLI។opcache.enable_file_override=1
អនុញ្ញាតឱ្យ OPcache កាន់កាប់ឃ្លាំងសម្ងាត់ប្រព័ន្ធឯកសារ ដែលកាត់បន្ថយការចូលប្រើថាសបន្ថែមទៀត។- opcache.validate_timestamps=0
- បិទការរកឃើញពេលវេលាជាក់ស្តែងកាត់បន្ថយ I/O ប្រព័ន្ធឯកសារ និងបង្កើនប្រសិទ្ធភាព។
ទោះយ៉ាងណាក៏ដោយ នេះមានន័យថា អ្នកត្រូវតែលុបឃ្លាំងសម្ងាត់ដោយដៃ (ចាប់ផ្តើមសេវាកម្ម PHP ឡើងវិញ) បន្ទាប់ពីកែប្រែឯកសារ PHP។
បន្ទាប់ពីកែប្រែការកំណត់រចនាសម្ព័ន្ធរួច អ្នកត្រូវតែចាប់ផ្តើមសេវាកម្ម PHP ឡើងវិញ ដើម្បីឱ្យការផ្លាស់ប្តូរមានប្រសិទ្ធភាព។
sudo systemctl restart php<版本>-fpmការរួមបញ្ចូលគ្នានៃប៉ារ៉ាម៉ែត្រទាំងនេះអនុញ្ញាតឱ្យគេហទំព័រនៅតែមានស្ថេរភាពសូម្បីតែស្ថិតនៅក្រោមការដំណើរការដំណាលគ្នាខ្ពស់ក៏ដោយ។
ចាប់ផ្ដើមសេវាកម្ម PHP-FPM ឡើងវិញ
បន្ទាប់ពីធ្វើការផ្លាស់ប្តូររួច សូមចាំថាត្រូវចាប់ផ្តើមសេវាកម្មឡើងវិញ៖
sudo systemctl restart php8.x-fpm
បន្ទាប់មកដំណើរការវាម្តងទៀត៖
php -i | grep opcache
ប៉ារ៉ាម៉ែត្រត្រូវបានបញ្ជាក់ថាត្រូវបានធ្វើបច្ចុប្បន្នភាព។
ការអនុវត្តល្អបំផុតសម្រាប់បរិស្ថានផលិតកម្ម
នៅក្នុងបរិយាកាសផលិតកម្ម ការបង្កើនប្រសិទ្ធភាព OPcache ពាក់ព័ន្ធនឹងច្រើនជាងការលៃតម្រូវប៉ារ៉ាម៉ែត្រ; វាក៏រួមបញ្ចូលយុទ្ធសាស្ត្រដូចខាងក្រោម៖
១. សម្អាតឃ្លាំងសម្ងាត់អំឡុងពេលដាក់ពង្រាយ
បន្ទាប់ពីការអាប់ដេតកូដនីមួយៗ OPcache ត្រូវតែត្រូវបានសម្អាត។ បើមិនដូច្នោះទេ កំណែចាស់ជាងអាចត្រូវបានផ្ទុក។
អ្នកអាចបន្ថែមដូចខាងក្រោមទៅក្នុងស្គ្រីប CI/CD៖
<?php opcache_reset();
ជាជម្រើសមួយ អ្នកអាចប្រតិបត្តិវានៅក្នុងដំណើរការដាក់ពង្រាយ៖
systemctl reload php8.x-fpm
២. ជៀសវាងការសម្អាតញឹកញាប់
ការសម្អាតឃ្លាំងសម្ងាត់ញឹកញាប់ពេកអាចនាំឱ្យមានការថយចុះប្រសិទ្ធភាព។
វាត្រូវបានណែនាំអោយសម្អាតតែនៅពេលដែលលេខកូដត្រូវបានធ្វើបច្ចុប្បន្នភាព ជាជាងសម្អាតនៅចន្លោះពេលទៀងទាត់។
៣. ត្រួតពិនិត្យការប្រើប្រាស់ OPcache ។
អ្នកអាចពិនិត្យមើលអត្រា Cache Hit rate ក្នុងពេលវេលាជាក់ស្តែងដោយប្រើ `php -i | grep opcache` ឬដោយដំឡើងកម្មវិធីជំនួយ Opcache Control Panel។
អត្រាវាយប្រហារលើសពី 95% បង្ហាញពីការកំណត់រចនាសម្ព័ន្ធសមហេតុផល។
យោងតាមការធ្វើតេស្តដំណើរការផ្លូវការរបស់ Zend ការបើកដំណើរការ OPcache អាចបង្កើនល្បឿនប្រតិបត្តិស្គ្រីប PHP រហូតដល់ 3 ដង និងកាត់បន្ថយការប្រើប្រាស់ CPU បាន 50%។
នេះមិនមែនជាទ្រឹស្តីអាថ៌កំបាំងណាមួយទេ វាជាទិន្នន័យរឹងមាំ។
សេចក្តីសន្និដ្ឋាន៖ ទស្សនៈ និងសម្រង់សម្តីសំខាន់ៗរបស់ខ្ញុំ
តាមគំនិតរបស់ខ្ញុំ OPcache គឺដូចជា "ម៉ាស៊ីន turbocharger" សម្រាប់គេហទំព័រ។ បើគ្មានវាទេ PHP គឺដូចជាឡានដែលគ្មានម៉ាស៊ីន turbocharger ដែលដំណើរការយឺតៗ និងខ្ជះខ្ជាយប្រេងឥន្ធនៈ។
ការបង្កើនប្រសិទ្ធភាព OPcache មិនមែនគ្រាន់តែជាព័ត៌មានលម្អិតបច្ចេកទេសប៉ុណ្ណោះទេ ប៉ុន្តែវាក៏ជាជម្រើសយុទ្ធសាស្ត្រសម្រាប់ប្រតិបត្តិការគេហទំព័រផងដែរ។
ពីព្រោះល្បឿនស្មើនឹងអត្រាបំលែង ហើយដំណើរការស្មើនឹងភាពប្រកួតប្រជែង។
សម្រង់គន្លឹះ៖ អនាគតនៃគេហទំព័រមួយមិនស្ថិតនៅលើភាពទាក់ទាញនៃកូដរបស់វានោះទេ ប៉ុន្តែវាស្ថិតនៅលើល្បឿនដែលវាអាចឆ្លើយតបបានយ៉ាងលឿនដែលអ្នកប្រើប្រាស់មិនមានពេលព្រិចភ្នែកឡើយ។
ដូច្នេះ សូមឈប់អនុញ្ញាតឱ្យម៉ាស៊ីនមេខ្ជះខ្ជាយធនធានក្នុងរង្វិលជុំដែលគ្មានប្រសិទ្ធភាព។
បង្កើនប្រសិទ្ធភាព HestiaCP OPcache របស់អ្នកឥឡូវនេះ ហើយធ្វើឱ្យគេហទំព័ររបស់អ្នកអាចដំណើរការបាន។
តើអ្នកចង់ឱ្យខ្ញុំសរសេរគំរូកំណត់រចនាសម្ព័ន្ធ OPcache ដ៏ល្អបំផុតសម្រាប់បរិស្ថានផលិតកម្មរបស់អ្នក ដែលអ្នកអាចចម្លង និងប្រើប្រាស់ដោយផ្ទាល់នៅក្នុង php.ini ដែរឬទេ?
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ អត្ថបទ "តើធ្វើដូចម្តេចដើម្បីបង្កើនប្រសិទ្ធភាព OPcache នៅក្នុង HestiaCP? ការ caching Opcode និងការចងក្រងកូដ PHP ដើម្បីធ្វើឱ្យគេហទំព័ររបស់អ្នកហោះហើរបាន" ដែលបានចែករំលែកនៅទីនេះអាចមានប្រយោជន៍សម្រាប់អ្នក។
សូមស្វាគមន៍ចំពោះការចែករំលែកតំណភ្ជាប់នៃអត្ថបទនេះ៖https://www.chenweiliang.com/cwl-34197.html
