ລາຍການຫົວເລື່ອງ
ຄວາມໄວຄືຊີວິດ; ຖ້າເວັບໄຊທ໌ຢູ່ຫລັງພຽງແຕ່ສ່ວນໜຶ່ງຂອງວິນາທີ, ຜູ້ໃຊ້ຈະຫັນຫຼັງແລະອອກໄປ.
ນັ້ນແມ່ນເຫດຜົນທີ່ຢູ່ໃນ HestiaCP ການເພີ່ມປະສິດທິພາບຂອງ OPcache ແມ່ນມີຄວາມສຳຄັນຫຼາຍຕໍ່ຄວາມສຳເລັດ ຫຼື ຄວາມລົ້ມເຫຼວຂອງເວັບໄຊທ໌ໃດກໍ່ຕາມທີ່ອາໄສ PHP.
OPcache ແມ່ນຫຍັງ?
OPcache ເປັນເຄື່ອງຈັກ caching bytecode ທີ່ຕິດຕັ້ງມາພ້ອມໃນ PHP.
ໜ້າທີ່ຂອງມັນແມ່ນງ່າຍດາຍ: ເກັບສະຄຣິບ PHP ທີ່ຄອມໄພລ໌ແລ້ວໄວ້ໃນໜ່ວຍຄວາມຈຳ, ແລະ ເອີ້ນໃຊ້ແຄດໂດຍກົງເມື່ອເຂົ້າເຖິງມັນອີກຄັ້ງ, ແທນທີ່ຈະຄອມໄພລ໌ໃໝ່.
ສິ່ງນີ້ຊ່ວຍປັບປຸງຄວາມໄວໃນການຕອບສະໜອງຂອງເວັບໄຊທ໌, ຫຼຸດຜ່ອນການໂຫຼດ CPU ແລະ ຫຼຸດຜ່ອນຄວາມກົດດັນຂອງເຊີບເວີໃນທັນທີ.
ອີງຕາມເອກະສານທາງການຂອງ PHP:
"OPcache ໃຫ້ການປັບປຸງປະສິດທິພາບທີ່ສຳຄັນໂດຍການຫຼຸດຜ່ອນເວລາການປະຕິບັດໂດຍການຫຼີກລ່ຽງການຊໍ້າຊ້ອນຂອງການລວບລວມສະຄຣິບ."
ສະຫຼຸບແລ້ວ: OPcache ແມ່ນຕົວເລັ່ງ PHP.
ເປັນຫຍັງຕ້ອງເພີ່ມປະສິດທິພາບ OPcache ໃນ HestiaCP?

HestiaCP ເປັນແຜງຄວບຄຸມນ້ຳໜັກເບົາທີ່ຫຼາຍຄົນໃຊ້ເພື່ອຈັດການ VPS ຫຼື ເຊີບເວີທີ່ອຸທິດຕົນ.
OPcache ຖືກເປີດໃຊ້ງານໂດຍຄ່າເລີ່ມຕົ້ນ, ແຕ່ພາລາມິເຕີມັກຈະເປັນແບບອະນຸລັກ.
ຖ້າບໍ່ມີການປັບປ່ຽນ, ການປັບປຸງປະສິດທິພາບຈະຖືກຈຳກັດ.
ຍົກຕົວຢ່າງ:
ໃນເຊີບເວີທີ່ມີ 4 ແກນ ແລະ ໜ່ວຍຄວາມຈຳ 8GB, ໜ່ວຍຄວາມຈຳ OPcache ເລີ່ມຕົ້ນແມ່ນພຽງແຕ່ 64MB ເທົ່ານັ້ນ, ແລະ ຈຳນວນໄຟລ໌ທີ່ເກັບໄວ້ແມ່ນພຽງແຕ່ 4000 ເທົ່ານັ້ນ.
ອັນນີ້ສຳລັບຂະໜາດກາງ 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.memory_consumption=256
ການຈັດສັນໜ່ວຍຄວາມຈຳ 256MB ໃຫ້ກັບ OPcache ແມ່ນເໝາະສົມສຳລັບເວັບໄຊທ໌ຂະໜາດກາງຫາໃຫຍ່.
ສຳລັບເວັບໄຊທ໌ຂະໜາດນ້ອຍ, ທ່ານສາມາດຕັ້ງຄ່າມັນເປັນ 128MB.opcache.interned_strings_buffer=16
ສະໜອງແຄສສະຕຣິງ 16MB ເພື່ອຫຼຸດຜ່ອນການໃຊ້ສະຕຣິງທີ່ຊໍ້າກັນ.opcache.max_accelerated_files=10000
ຈຳນວນໄຟລ໌ທີ່ເກັບໄວ້ສູງສຸດແມ່ນແນະນຳໃຫ້ມີຢ່າງໜ້ອຍ 10000 ໄຟລ໌ໃນສະພາບແວດລ້ອມ WordPress + plugin.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 ກ່ຽວຂ້ອງຫຼາຍກວ່າການປັບແຕ່ງພາລາມິເຕີ; ມັນຍັງປະກອບມີຍຸດທະສາດຕໍ່ໄປນີ້:
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 ສາມາດປັບປຸງຄວາມໄວໃນການປະຕິບັດສະຄຣິບ PHP ໄດ້ເຖິງ 3 ເທົ່າ ແລະ ຫຼຸດຜ່ອນການໃຊ້ CPU ໄດ້ 50%.
ນີ້ບໍ່ແມ່ນທິດສະດີລຶກລັບບາງປະເພດ; ມັນເປັນຂໍ້ມູນທີ່ໜັກແໜ້ນ.
ສະຫຼຸບ: ທັດສະນະຂອງຂ້ອຍ ແລະ ຄຳເວົ້າທີ່ສຳຄັນ
ໃນຄວາມຄິດເຫັນຂອງຂ້ອຍ, OPcache ແມ່ນຄືກັບ "turbocharger" ສຳລັບເວັບໄຊທ໌. ຖ້າບໍ່ມີມັນ, PHP ແມ່ນຄືກັບລົດທີ່ບໍ່ມີ turbocharger, ແລ່ນຊ້າໆ ແລະ ເສຍນໍ້າມັນ.
ການເພີ່ມປະສິດທິພາບຂອງ OPcache ບໍ່ພຽງແຕ່ເປັນລາຍລະອຽດດ້ານເຕັກນິກເທົ່ານັ້ນ, ແຕ່ຍັງເປັນທາງເລືອກຍຸດທະສາດສຳລັບການດຳເນີນງານຂອງເວັບໄຊທ໌ອີກດ້ວຍ.
ເນື່ອງຈາກຄວາມໄວເທົ່າກັບອັດຕາການປ່ຽນແປງ, ແລະ ປະສິດທິພາບເທົ່າກັບຄວາມສາມາດໃນການແຂ່ງຂັນ.
ຄຳອ້າງອີງຫຼັກ: ອະນາຄົດຂອງເວັບໄຊທ໌ບໍ່ໄດ້ຂຶ້ນຢູ່ກັບວ່າລະຫັດຂອງມັນສວຍງາມປານໃດ, ແຕ່ມັນຢູ່ທີ່ຄວາມໄວທີ່ມັນສາມາດຕອບສະໜອງໄດ້ໄວຫຼາຍຈົນຜູ້ໃຊ້ບໍ່ມີເວລາກະພິບຕາ.
ດັ່ງນັ້ນ, ຈົ່ງຢຸດປ່ອຍໃຫ້ເຊີບເວີເສຍຊັບພະຍາກອນໃນວົງຈອນທີ່ບໍ່ມີປະສິດທິພາບ.
ເພີ່ມປະສິດທິພາບ HestiaCP OPcache ຂອງທ່ານດຽວນີ້ ແລະ ເຮັດໃຫ້ເວັບໄຊທ໌ຂອງທ່ານບິນໄດ້ໄວ.
ເຈົ້າຢາກໃຫ້ຂ້ອຍຂຽນແມ່ແບບການຕັ້ງຄ່າ OPcache ທີ່ດີທີ່ສຸດສຳລັບສະພາບແວດລ້ອມການຜະລິດຂອງເຈົ້າ, ເຊິ່ງເຈົ້າສາມາດຄັດລອກ ແລະ ນຳໃຊ້ໂດຍກົງໃນ php.ini ໄດ້ບໍ?
ຫວັງ Chen Weiliang Blog ( https://www.chenweiliang.com/ ບົດຄວາມ "ວິທີການເພີ່ມປະສິດທິພາບ OPcache ໃນ HestiaCP? ການ caching Opcode ແລະ compile ລະຫັດ PHP ເພື່ອເຮັດໃຫ້ເວັບໄຊທ໌ຂອງທ່ານບິນໄດ້" ທີ່ແບ່ງປັນຢູ່ນີ້ອາດຈະເປັນປະໂຫຍດສຳລັບທ່ານ.
ຍິນດີຕ້ອນຮັບແບ່ງປັນການເຊື່ອມຕໍ່ຂອງບົດຄວາມນີ້:https://www.chenweiliang.com/cwl-34197.html
