Рубрики
Uncategorized

PHP открывает opcache

Автор оригинала: 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/”