opcache - мои тесты

Как мы знаем, в пхп есть возможность кэшировать данны, для этого написаны следующие библиотеки.

Apc - считается неподдерживаемым, библиотека делала 2 вещи: компилировала php-код в байт-код и давала возможность работать с разделяемой памятью, сейчас вместо нее:

APCu - это APC без кеширования опкода (предоставляет возможность работать с разделяемой памятью).

OPcache - улучшает производительность PHP путём сохранения скомпилированного байт-кода скриптов в разделяемой памяти, тем самым избавляя PHP от необходимости загружать и анализировать скрипты при каждом запросе. PHP 5.5.0 и выше.

Итак, с теорией все понятно, теперь практика.

Возникло у меня предположение, что opcache может мне помочь с одним тяжелым запросом, вот и решил я измерить как себя ведет приложение:

time curl --insecure -i -L "http://yapro.local/customer/v2/login" -A "Guzzle/5.3.1 curl/7.49.1 PHP/5.6.23" \
-H "Content-Type: application/json" -X POST -d '{"phone":799912345678,"password":"123456"}'

С xdebug и без opcache:

3,831s
3,536s
3,165s
3,519s
3,388s

С xdebug и c opcache:

3,373s
2,841s
2,909s
2,803s
2,800s

С opcache и без xdebug:

2,837s
1,720s
1,795s
1,749s
1,494s
-- без opcache и без xdebug:
3,067s
1,860s
1,658s
1,443s
1,646s

Итак, делаю вывод, что opcache почти не помогает, а своевременно обновлять кэш придется (например при деплое новой версии приложения), поэтому пока opcache использовать не буду.

Обычно OPCache резолвит полный путь к скрипту. Но будьте осторожны, потому что он использует realpath_cache, а это может вам навредить. Если с помощью симлинка вы измените корневую папку, то присвойте opcache.revalidate_path значение 1 и очистите realpath cache (это может быть непросто выполнить, потому что кэш привязан к рабочему процессу, обрабатывающему текущий запрос).

Источник: 1 - 2

Оцени публикацию:
  • 0,0
Оценили человек: 0

Похожие статьи:

Справочники и учебники:


Предложения и пожелания:
Ваше имя:
Ваш E-mail:
Сколько будет Οдин + Τри
Главная
X

youtube.com/watch?v=7hFivbgIEqk

При полном или частичном использовании материалов данного сайта, ссылка на сайт "yapro.ru" обязательна как на источник информации.
Автоматический импорт материалов и информации с сайта запрещен.
Copyrights © 2007 - 2018 YaPro.Ru

Главная » Веб-мастеру » PHP »