Как оптимизировать скорость загрузки шаблонов с изображениями docker nginx laravel?
Хочу узнать есть ли возможность оптимизировать скорость загрузки шаблонов на которых есть изображения?
Дело в том что я "перевез" свое приложение laravel на докер и в целом доволен результатом, НО заметил что страницы на которых требуется вывести изображение - грузятся довольно медленно (по сравнению с тем же приложением но с апач и на "живом" железе).
Каталог с кодом приложения и фотографиями смонтирован из папки, если не ошибаюсь это называется bind-mount (я новичок в этой теме, в файле docker-compose.yaml это выглядит так> volumes: - ./src/laravel/laravel:/var/www/laravel)
При этом скорость загрузки страницы 1+ секунд. На апаче и реальном железе визуально быстрее раза в 2-3
Изображений много, более 5000, разумеется, после первой загрузки оно (изображение) попадает в кеш браузера и грузится моментально.
пока пишу, понимаю что причина может быть в том, что вариант на апаче выбирает изображение на диске ssd в то время как докер крутится на hdd, но, может быть существуют какие-то практики по оптимизации скорости загрузки помимо железа?
конфиг "быстрой" версии это apache2.4+php7.1.3+mariadb10.4+laravel5.3
конфиг на докере это nginx(latest)+php-fpm713+mariadb10.4+laravel5.3
Вообще-то всегда именно картинки перетаскивали с обработки апачем на прямую отдачу нджинксом. Для ускорения.
Может, у вас нджинкс их отдает не напрямую, а через обработчики? Вы это прекратите...
в докере нет апача от слова совсем, и в целом создается ощущение что на докере работает шустрее (в проекте есть несколько тяжелых скриптов на php и они отрабатывают быстрее), если не брать во внимание скорость отдачи картинок. Но может быть я ошибаюсь. Вот конфиг nginx, на всякий случай>
Gizaster G, конфиг стандартный, думаю фпм тоже, возможно все же дело в фс и хдд проигрывает ссд при больших объёмах, можно попробовать пережать картинки и кэш прогреть
P.S.:
Как "основа" для "доккерМЕНов" - годится...плюс "дока" самого "доккера"...
P.S.S.:
конфиг "быстрой" версии это apache2.4+php7.1.3+mariadb10.4+laravel5.3
...
пока пишу, понимаю что причина может быть в том, что вариант на апаче выбирает изображение на диске ssd в то время как докер крутится на hdd, но, может быть существуют какие-то практики по оптимизации скорости загрузки помимо железа?
"Совпадение...? - Не думаю..."
P.S.S.S:
У самого многие сервисы на "доккере" крутятся(пока в бето-версии...ибо легче "на ходу переобуваться"...)...
А SSD vs HDD - уже сразу...у тебя весь "доккер" на ржавом HDD против SSD на монолите...
По опыту процентов максимум до 10% должна быть "просадка" при одинаковых "железах"...