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

Новые заметки:

Про что мы забываем когда делаем оценку задачи по времени

Список вопросов для собеседования разработчика по телефону

Symfony2 авторизация без Doctrine2 для чайника

Phpstorm7 LiveEdit

Жесткий хабр или не хабр, тогда кто?

Яндекс.Деньги мошенничество

Как узнать какие страницы в поиске яндекса или это секрет

Последние комменты:

Yapro CMS:

Здравствуйте, Гость | Войти | Регистрация | Карта сайта | RSS ленты | Ошибка в тексте? Выделите её мышкой и нажмите: Ctrl + Enter

youtube.com/watch?v=7hFivbgIEqk

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

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