Автор оригинала: David Wong.
План оптимизации
(1) Включить Zend Opcache очень просто, добавив в файл конфигурации PHP.ini:
zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1
(2) Используя компиляторы выше GCC4.8 для компиляции установочных пакетов, только PHP, скомпилированный выше GCC4.8, включит Глобальный регистр для поддержки opline и execute_data.
((3) Откройте поддержку огромных страниц, сначала откройте огромные страницы в системе, а затем откройте огромные кодовые страницы Opcache.
На странице объятий
Память операционной системы по умолчанию разбита на страницы размером 4 КБ, в то время как виртуальный адрес и адрес памяти необходимо преобразовать, и для этого преобразования необходимо просмотреть таблицы. Процессор создаст TLB (буфер для просмотра переводов), чтобы ускорить процесс поиска таблиц. Очевидно, что чем меньше виртуальная страница, тем больше записей в таблице и чем меньше размер TLB, тем больше записей будет отсутствовать в кэше TLB, поэтому, если мы сможем включить большие страницы памяти, мы можем косвенно уменьшить пропуски в кэше TLB.
Способ вскрытия
Возьмем, к примеру, CentOS 6.5, по команде:
sudo sysctl vm.nr_hugepages=128
Выделите 128 зарезервированных больших страниц памяти.
$ cat /proc/meminfo | grep Huge AnonHugePages: 444416 kB HugePages_Total: 128 HugePages_Free: 128 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB
Затем добавьте в PHP.ini
opcache.huge_code_pages=1
Оригинал: “https://developpaper.com/php-opens-opcache/”