Справочник на статиите
Скоростта е живот; ако даден уебсайт изостава дори с частица от секундата, потребителите ще се обърнат и ще си тръгнат.
Ето защо HestiaCP Оптимизирането на OPcache е от решаващо значение за успеха или провала на всеки уебсайт, който разчита на PHP.
Какво е OPcache?
OPcache е вграден енджин за кеширане на байткод в PHP.
Функцията му е проста: кешира компилирания PHP скрипт в паметта и директно извиква кеша при повторен достъп до него, вместо да го прекомпилира.
Това подобрява скоростта на реакция на уебсайта, намалява натоварването на процесора и незабавно облекчава натоварването на сървъра.
Според официалната документация на 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
Препоръчително е максималният брой кеширани файлове да бъде поне 10 000 в среда на WordPress + плъгин.opcache.revalidate_freq=60
Файловете се проверяват за актуализации на всеки 60 секунди, за да се намали честият входно-изходен трафик.opcache.enable_cli=1
Активирането на кеширането на CLI е подходящо за изпълнение на инструменти от командния ред, като 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 пъти и да намали използването на процесора с 50%.
Това не е някаква мистична теория; това са солидни данни.
Заключение: Моите гледни точки и ключови цитати
Според мен, OPcache е като „турбокомпресор“ за уебсайт. Без него, PHP е като кола без турбокомпресор, работеща бавно и харчеща гориво.
Оптимизирането на OPcache не е просто технически детайл, а и стратегически избор за работата на уебсайта.
Защото скоростта е равна на процента на конверсия, а производителността е равна на конкурентоспособност.
Ключов цитат: Бъдещето на един уебсайт не се крие в това колко е изискан кодът му, а в това колко бързо може да реагира, толкова бързо, че потребителите дори нямат време да мигнат.
Затова спрете да позволявате на сървърите да пилеят ресурси в неефективни цикли.
Оптимизирайте вашия HestiaCP OPcache сега и накарайте уебсайта си да лети.
Искате ли да напиша най-добрия в класа си шаблон за конфигурация на OPcache за вашата производствена среда, който след това можете директно да копирате и използвате в php.ini?
Блог на Hope Chen Weiliang ( https://www.chenweiliang.com/ Статията „Как да оптимизираме OPcache в HestiaCP? Кеширане на opcode и компилиране на PHP код, за да накарате уебсайта си да работи“, споделена тук, може да ви е полезна.
Добре дошли да споделите връзката към тази статия:https://www.chenweiliang.com/cwl-34197.html
