2016-02-10 3 views
4

При запуске Laravel 5.2 в контейнере докеров PHP-7 я получаю время отклика в 300ms - 400ms.Медленное время отклика: Laravel 5.2 в контейнере Docker

Это очень медленно, хотя, если я просто эхо-сигнал phpinfo() на том же контейнере, время отклика 15ms - 50ms Кто-нибудь испытывает такое медленное время отклика с Laravel в контейнере Docker?

ответ

3

Хорошо, проблема решена.

В локальной среде разработки с использованием Docker 1.10 с драйвером VirtualBox и томом, смонтированным на хост-системе (это будет Boot2Docker VM и OSX), производительность невероятно горькая, как описано выше 300ms - 600ms.

Используйте ту же конфигурацию без смонтированных томов 20ms - 30ms время ответа. Мое предположение заключается в том, что, поскольку Laravel имеет интенсивный дисковый ввод-вывод из-за большого количества файлов, которые он загружает для каждого запроса, это зависит от того, как VirtualBox совместно использует папки между хостом и виртуальной машиной.

Проблема не является докером или Laravel, его проблемой VM VirtualBox.

ОБНОВЛЕНИЕ:

Сравнивая различные среды в докер

Примечание: ниже указаны без artisan optimize --force или artisan config:cache

  • HHVM 13 мс - 31ms (TCP-порт 9000)
  • HHVM 12 мс - 22 мс (гнездо Unix)
  • PHP-7 FPM 42ms - 73ms (TCP-порт 9000)
  • PHP-7 FPM 38ms - 55ms (Unix сокет)

WOW ...!

HHVM with artisan optimisations + unix sockets: 8ms - 12ms


PHP-7 FPM с ремесленными оптимизаций + UNIX сокеты: 38ms - 42ms

Взгляните на HHVM с оптимизацией и Unix сокетов. Это очень быстро.

+1

VirtualBox на OSX * безумно * медленный для подключенных хостов, если вы не используете для них NFS. Не знаю, почему, но жизнь была намного лучше, когда я понял это. – ceejayoz

+0

как вы это устанавливаете? с Boot2Docker? – AndrewMcLagan

+0

Я использую Vagrant + Virtualbox, а не Docker. 'config.vm.synced_folder". ","/srv/web ", введите:" nfs ",: mount_options => ['nolock, vers = 3, udp, noatime, actimeo = 1']' в моем файле Vagrant трюк, но я понятия не имею о Boot2Docker для передачи данных в Virtualbox. – ceejayoz

Смежные вопросы