ആർട്ടിക്കിൾ ഡയറക്ടറി
വേഗതയാണ് ജീവിതം; ഒരു വെബ്സൈറ്റ് ഒരു സെക്കൻഡിന്റെ ഒരു ഭാഗം പിന്നിലാണെങ്കിൽ പോലും, ഉപയോക്താക്കൾ തിരിഞ്ഞുനോക്കി പോകും.
അതുകൊണ്ടാണ് ഹെസ്റ്റിയസിപി PHP-യെ ആശ്രയിക്കുന്ന ഏതൊരു വെബ്സൈറ്റിന്റെയും വിജയ പരാജയത്തിന് OPcache ഒപ്റ്റിമൈസ് ചെയ്യുന്നത് നിർണായകമാണ്.
എന്താണ് OPcache?
PHP-യിലെ ഒരു ബിൽറ്റ്-ഇൻ ബൈറ്റ്കോഡ് കാഷിംഗ് എഞ്ചിനാണ് OPcache.
ഇതിന്റെ പ്രവർത്തനം ലളിതമാണ്: കംപൈൽ ചെയ്ത PHP സ്ക്രിപ്റ്റ് മെമ്മറിയിൽ കാഷെ ചെയ്യുക, വീണ്ടും ആക്സസ് ചെയ്യുമ്പോൾ റീകംപൈൽ ചെയ്യുന്നതിന് പകരം നേരിട്ട് കാഷെയിലേക്ക് വിളിക്കുക.
ഇത് വെബ്സൈറ്റ് പ്രതികരണ വേഗത മെച്ചപ്പെടുത്തുകയും സിപിയു ലോഡ് കുറയ്ക്കുകയും സെർവർ സമ്മർദ്ദം തൽക്ഷണം ലഘൂകരിക്കുകയും ചെയ്യുന്നു.
PHP ഔദ്യോഗിക ഡോക്യുമെന്റേഷൻ പ്രകാരം:
"സ്ക്രിപ്റ്റ് കംപൈലേഷന്റെ ഡ്യൂപ്ലിക്കേഷൻ ഒഴിവാക്കിക്കൊണ്ട് എക്സിക്യൂഷൻ സമയം കുറയ്ക്കുന്നതിലൂടെ OPcache ഗണ്യമായ പ്രകടന മെച്ചപ്പെടുത്തലുകൾ നൽകുന്നു."
ചുരുക്കത്തിൽ: OPcache ഒരു PHP ആക്സിലറേറ്ററാണ്.
HestiaCP-യിൽ OPcache ഒപ്റ്റിമൈസ് ചെയ്യുന്നത് എന്തുകൊണ്ട്?

VPS അല്ലെങ്കിൽ സമർപ്പിത സെർവറുകൾ കൈകാര്യം ചെയ്യാൻ പലരും ഉപയോഗിക്കുന്ന ഒരു ഭാരം കുറഞ്ഞ നിയന്ത്രണ പാനലാണ് HestiaCP.
OPcache സ്ഥിരസ്ഥിതിയായി പ്രാപ്തമാക്കിയിട്ടുണ്ടെങ്കിലും, പാരാമീറ്ററുകൾ പലപ്പോഴും യാഥാസ്ഥിതികമാണ്.
ക്രമീകരണങ്ങൾ ഇല്ലെങ്കിൽ, പ്രകടന മെച്ചപ്പെടുത്തൽ പരിമിതമായിരിക്കും.
ഉദാഹരണത്തിന്:
4 കോറുകളും 8GB മെമ്മറിയുമുള്ള ഒരു സെർവറിൽ, ഡിഫോൾട്ട് OPcache മെമ്മറി 64MB മാത്രമാണ്, കാഷെ ചെയ്ത ഫയലുകളുടെ എണ്ണം 4000 മാത്രമാണ്.
ഇത് ഒരു ഇടത്തരം വലിപ്പമുള്ള വേർഡ്പ്രൈസ് ഒരു വെബ്സൈറ്റിന്, അത് മാത്രം പോരാ.
ഇതിന്റെ ഫലമായി കാഷെ നിരന്തരം ക്ലിയർ ചെയ്യപ്പെടുന്നു, ഇത് പ്രകടനത്തിൽ ആവർത്തിച്ച് ഏറ്റക്കുറച്ചിലുകൾ ഉണ്ടാക്കുന്നു.
നിലവിലെ OPcache നില പരിശോധിക്കുക
ഇനിപ്പറയുന്ന കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:
php -i | grep opcache.enable
ഇനിപ്പറയുന്നതിന് സമാനമായ ഫലങ്ങൾ നിങ്ങൾ കാണും:
- opcache.enable => ഓൺ: ഇതിനർത്ഥം PHP-FPM-ൽ OPcache പ്രാപ്തമാക്കിയിട്ടുണ്ടെന്നാണ്.
- 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-ലേക്ക് 256MB മെമ്മറി അനുവദിക്കുന്നത് ഇടത്തരം മുതൽ വലുത് വരെയുള്ള വെബ്സൈറ്റുകൾക്ക് അനുയോജ്യമാണ്.
ചെറിയ വെബ്സൈറ്റുകൾക്ക്, നിങ്ങൾക്ക് ഇത് 128MB ആയി സജ്ജമാക്കാൻ കഴിയും.opcache.interned_strings_buffer=16 (opcache.interned_strings_buffer=16)
ഡ്യൂപ്ലിക്കേറ്റ് സ്ട്രിംഗുകളുടെ ഉപയോഗം കുറയ്ക്കുന്നതിന് 16MB സ്ട്രിംഗ് കാഷെ നൽകുന്നു.opcache.max_accelerated_files=10000
ഒരു വേർഡ്പ്രസ്സ് + പ്ലഗിൻ പരിതസ്ഥിതിയിൽ കാഷെ ചെയ്ത ഫയലുകളുടെ പരമാവധി എണ്ണം കുറഞ്ഞത് 10000 ആയിരിക്കണമെന്ന് ശുപാർശ ചെയ്യുന്നു.opcache.revalidate_freq=60
ഇടയ്ക്കിടെയുള്ള I/O കുറയ്ക്കുന്നതിന് ഓരോ 60 സെക്കൻഡിലും ഫയലുകൾ അപ്ഡേറ്റുകൾക്കായി പരിശോധിക്കുന്നു.opcache.enable_cli=1
ആർട്ടിസാൻ, WP-CLI പോലുള്ള കമാൻഡ്-ലൈൻ ഉപകരണങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നതിന് 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 ഒപ്റ്റിമൈസേഷനിൽ പാരാമീറ്റർ ട്യൂണിംഗിനേക്കാൾ കൂടുതൽ ഉൾപ്പെടുന്നു; അതിൽ ഇനിപ്പറയുന്ന തന്ത്രങ്ങളും ഉൾപ്പെടുന്നു:
1. വിന്യാസ സമയത്ത് കാഷെ മായ്ക്കുക
ഓരോ കോഡ് അപ്ഡേറ്റിനു ശേഷവും, OPcache മായ്ക്കണം; അല്ലെങ്കിൽ, ഒരു പഴയ പതിപ്പ് ലോഡ് ചെയ്തേക്കാം.
CI/CD സ്ക്രിപ്റ്റിലേക്ക് നിങ്ങൾക്ക് ഇനിപ്പറയുന്നവ ചേർക്കാൻ കഴിയും:
<?php opcache_reset();
പകരമായി, വിന്യാസ പ്രക്രിയയിൽ ഇത് നടപ്പിലാക്കുക:
systemctl reload php8.x-fpm
2. ഇടയ്ക്കിടെ വൃത്തിയാക്കുന്നത് ഒഴിവാക്കുക.
കാഷെ ഇടയ്ക്കിടെ ക്ലിയർ ചെയ്യുന്നത് പ്രകടനത്തിലെ ഇടിവിന് കാരണമാകും.
കോഡ് അപ്ഡേറ്റ് ചെയ്യുമ്പോൾ മാത്രം വൃത്തിയാക്കാൻ ശുപാർശ ചെയ്യുന്നു, കൃത്യമായ ഇടവേളകളിൽ വൃത്തിയാക്കുന്നതിനുപകരം.
3. OPcache ഉപയോഗം നിരീക്ഷിക്കുക.
`php -i | grep opcache` ഉപയോഗിച്ചോ Opcache കൺട്രോൾ പാനൽ പ്ലഗിൻ ഇൻസ്റ്റാൾ ചെയ്തോ നിങ്ങൾക്ക് കാഷെ ഹിറ്റ് നിരക്ക് തത്സമയം പരിശോധിക്കാൻ കഴിയും.
95%-ൽ കൂടുതലുള്ള ഹിറ്റ് നിരക്ക് ന്യായമായ കോൺഫിഗറേഷനെ സൂചിപ്പിക്കുന്നു.
സെൻഡിന്റെ ഔദ്യോഗിക പ്രകടന പരിശോധനകൾ പ്രകാരം, OPcache പ്രവർത്തനക്ഷമമാക്കുന്നത് PHP സ്ക്രിപ്റ്റ് എക്സിക്യൂഷൻ വേഗത 3 മടങ്ങ് വരെ മെച്ചപ്പെടുത്തുകയും CPU ഉപയോഗം 50% കുറയ്ക്കുകയും ചെയ്യും.
ഇത് ഒരുതരം നിഗൂഢ സിദ്ധാന്തമല്ല; ഇത് ഉറച്ച ഡാറ്റയാണ്.
ഉപസംഹാരം: എന്റെ വീക്ഷണകോണുകളും പ്രധാന ഉദ്ധരണികളും
എന്റെ അഭിപ്രായത്തിൽ, OPcache ഒരു വെബ്സൈറ്റിന് ഒരു "ടർബോചാർജർ" പോലെയാണ്. അതില്ലാതെ, PHP ടർബോചാർജർ ഇല്ലാത്ത, പതുക്കെ ഓടുകയും ഇന്ധനം പാഴാക്കുകയും ചെയ്യുന്ന ഒരു കാർ പോലെയാണ്.
OPcache ഒപ്റ്റിമൈസ് ചെയ്യുന്നത് ഒരു സാങ്കേതിക വിശദാംശം മാത്രമല്ല, വെബ്സൈറ്റ് പ്രവർത്തനത്തിനുള്ള ഒരു തന്ത്രപരമായ തിരഞ്ഞെടുപ്പ് കൂടിയാണ്.
കാരണം വേഗത പരിവർത്തന നിരക്കിന് തുല്യമാണ്, പ്രകടനം മത്സരക്ഷമതയ്ക്ക് തുല്യമാണ്.
പ്രധാന ഉദ്ധരണി: ഒരു വെബ്സൈറ്റിന്റെ ഭാവി അതിന്റെ കോഡ് എത്ര ആകർഷകമാണ് എന്നതിലല്ല, മറിച്ച് ഉപയോക്താക്കൾക്ക് കണ്ണുചിമ്മാൻ പോലും സമയമില്ലാത്ത വിധം അതിന് എത്ര വേഗത്തിൽ പ്രതികരിക്കാൻ കഴിയും എന്നതിലാണ്.
അതിനാൽ, കാര്യക്ഷമമല്ലാത്ത ലൂപ്പുകളിൽ സെർവറുകൾ വിഭവങ്ങൾ പാഴാക്കുന്നത് നിർത്തുക.
നിങ്ങളുടെ HestiaCP OPcache ഇപ്പോൾ തന്നെ ഒപ്റ്റിമൈസ് ചെയ്ത് നിങ്ങളുടെ വെബ്സൈറ്റ് മികച്ചതാക്കൂ.
നിങ്ങളുടെ പ്രൊഡക്ഷൻ എൻവയോൺമെന്റിനായി ഒരു മികച്ച OPcache കോൺഫിഗറേഷൻ ടെംപ്ലേറ്റ് ഞാൻ എഴുതണമെന്ന് നിങ്ങൾ ആഗ്രഹിക്കുന്നുണ്ടോ, അത് നിങ്ങൾക്ക് നേരിട്ട് php.ini-യിൽ പകർത്തി ഉപയോഗിക്കാൻ കഴിയും.
ഹോപ്പ് ചെൻ വെയ്ലിയാങ് ബ്ലോഗ് ( https://www.chenweiliang.com/ "HestiaCP-യിൽ OPcache എങ്ങനെ ഒപ്റ്റിമൈസ് ചെയ്യാം? നിങ്ങളുടെ വെബ്സൈറ്റ് മികച്ചതാക്കാൻ Opcode കാഷിംഗും PHP കോഡ് കംപൈൽ ചെയ്യുന്നതും" എന്ന ലേഖനം ഇവിടെ പങ്കുവെച്ചിരിക്കുന്നത് നിങ്ങൾക്ക് സഹായകരമായേക്കാം.
ഈ ലേഖനത്തിന്റെ ലിങ്ക് പങ്കിടാൻ സ്വാഗതം:https://www.chenweiliang.com/cwl-34197.html
