Значительная потеря производительности при использовании Swoole, Laravel 9 и Docker в Rocky Linux 9 при использовании по ⇐ Php
Значительная потеря производительности при использовании Swoole, Laravel 9 и Docker в Rocky Linux 9 при использовании по
Я запускаю приложение Laravel 9 с Swoole для своих микросервисов. Все работает отлично, пока я не помещаю приложение в контейнер с помощью Docker в Rocky Linux 9. Я заметил резкое снижение производительности при использовании пользовательских сетей Docker.
Подробности настройки:
Хостовая ОС: Rocky Linux 9
Версия Laravel: 9
Версия Swoole: 4.8.4
Пользовательские сети Docker: серверная часть, внешний интерфейс, mongodb
Стек
Бэкенд-микросервисы: Laravel 9 Фронтенд: ReactJS База данных: МонгоДБ. Кэш: Редис Веб-сервер для внешнего интерфейса: Nginx. Бэкэнд-сервер: Swoole Каждое приложение имеет свой собственный контейнер.
Наблюдения:
Приложение работает без сбоев, задержка вызова API составляет около 63 мс при использовании network_mode = хост.
При использовании пользовательских сетей Docker (серверная часть, внешний интерфейс, mongodb) один и тот же вызов API занимает более 6000 мс.
Предпринятые шаги:
Проверены ресурсы хоста Docker.
Проверил подключение томов и попробовал использовать параметры делегированного и кэшированного монтирования Docker.
Проверенные конфигурации Swoole и Laravel.
Экспериментировал с различными конфигурациями сети Docker.
Меня озадачивает такая резкая разница в производительности, и мне нужны какие-либо идеи или предложения по оптимизации производительности моей установки. Кто-нибудь еще сталкивался с подобными проблемами или имеет какие-либо советы по их устранению?
Спасибо за ваше время и помощь!
Обновить
Файл Docker
ИЗ php:8.0-alpine AS php РАБОЧИЙ ДИАПАЗОН/приложение ЗАПУСК apk добавить --no-cache \ автоконф\ база сборки \ libpng-dev \ онигурума-дев \ libxml2-dev \ imagemagick-dev \ libzip-dev \ мерзавец \ локон \ разархивировать \ опенссл \ zip \ freetype-dev \ jpeg-dev \ libwebp-dev \ && pecl установить imagick \ && docker-php-ext-enable imagick \ && pecl установить mongodb \ && docker-php-ext-enable mongodb \ && docker-php-ext-configure gd --with-freetype --with-webp --with-jpeg \ && docker-php-ext-install pdo_mysql opcache gd zip \ && pecl установить swoole-4.8.4 \ && docker-php-ext-enable swoole # Этап – производственное изображение ИЗ php:8.0-альпийский # Установите зависимости системы времени выполнения для расширений PHP ЗАПУСК apk добавить --no-cache \ libpng \ imagemagick-libs \ libzip\ libgomp \ произвольный тип \ JPEG \ libwebp \ libstdС++ КОПИРОВАТЬ --from=php /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ КОПИРОВАТЬ --from=php /usr/local/lib/php/extensions/ /usr/local/lib/php/extensions/ КОПИЯ --from=php /usr/lib/ /usr/lib/ КОПИРОВАТЬ. /вар/www РАБОЧИЙ ПАРАМЕТР /var/www CMD ["php", "artisan", "octane:start","--port=8000", "--host=0.0.0.0"] docker-compose.yml
версия: "3" x-shared-configuration: &shared-config услуги: API: строить: контекст: . файл докеров: файл докеров изображение: тест-API # network_mode: хост перезапуск: если не остановлен телетайп: правда рабочий_каталог: /var/www порты: - 8000:8000 сети: внешний интерфейс: внешний: правда бэкэнд: внешний: правда монгодб: внешний: правда # тома: # хранилище: # bootstrap_cache:
Я запускаю приложение Laravel 9 с Swoole для своих микросервисов. Все работает отлично, пока я не помещаю приложение в контейнер с помощью Docker в Rocky Linux 9. Я заметил резкое снижение производительности при использовании пользовательских сетей Docker.
Подробности настройки:
Хостовая ОС: Rocky Linux 9
Версия Laravel: 9
Версия Swoole: 4.8.4
Пользовательские сети Docker: серверная часть, внешний интерфейс, mongodb
Стек
Бэкенд-микросервисы: Laravel 9 Фронтенд: ReactJS База данных: МонгоДБ. Кэш: Редис Веб-сервер для внешнего интерфейса: Nginx. Бэкэнд-сервер: Swoole Каждое приложение имеет свой собственный контейнер.
Наблюдения:
Приложение работает без сбоев, задержка вызова API составляет около 63 мс при использовании network_mode = хост.
При использовании пользовательских сетей Docker (серверная часть, внешний интерфейс, mongodb) один и тот же вызов API занимает более 6000 мс.
Предпринятые шаги:
Проверены ресурсы хоста Docker.
Проверил подключение томов и попробовал использовать параметры делегированного и кэшированного монтирования Docker.
Проверенные конфигурации Swoole и Laravel.
Экспериментировал с различными конфигурациями сети Docker.
Меня озадачивает такая резкая разница в производительности, и мне нужны какие-либо идеи или предложения по оптимизации производительности моей установки. Кто-нибудь еще сталкивался с подобными проблемами или имеет какие-либо советы по их устранению?
Спасибо за ваше время и помощь!
Обновить
Файл Docker
ИЗ php:8.0-alpine AS php РАБОЧИЙ ДИАПАЗОН/приложение ЗАПУСК apk добавить --no-cache \ автоконф\ база сборки \ libpng-dev \ онигурума-дев \ libxml2-dev \ imagemagick-dev \ libzip-dev \ мерзавец \ локон \ разархивировать \ опенссл \ zip \ freetype-dev \ jpeg-dev \ libwebp-dev \ && pecl установить imagick \ && docker-php-ext-enable imagick \ && pecl установить mongodb \ && docker-php-ext-enable mongodb \ && docker-php-ext-configure gd --with-freetype --with-webp --with-jpeg \ && docker-php-ext-install pdo_mysql opcache gd zip \ && pecl установить swoole-4.8.4 \ && docker-php-ext-enable swoole # Этап – производственное изображение ИЗ php:8.0-альпийский # Установите зависимости системы времени выполнения для расширений PHP ЗАПУСК apk добавить --no-cache \ libpng \ imagemagick-libs \ libzip\ libgomp \ произвольный тип \ JPEG \ libwebp \ libstdС++ КОПИРОВАТЬ --from=php /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ КОПИРОВАТЬ --from=php /usr/local/lib/php/extensions/ /usr/local/lib/php/extensions/ КОПИЯ --from=php /usr/lib/ /usr/lib/ КОПИРОВАТЬ. /вар/www РАБОЧИЙ ПАРАМЕТР /var/www CMD ["php", "artisan", "octane:start","--port=8000", "--host=0.0.0.0"] docker-compose.yml
версия: "3" x-shared-configuration: &shared-config услуги: API: строить: контекст: . файл докеров: файл докеров изображение: тест-API # network_mode: хост перезапуск: если не остановлен телетайп: правда рабочий_каталог: /var/www порты: - 8000:8000 сети: внешний интерфейс: внешний: правда бэкэнд: внешний: правда монгодб: внешний: правда # тома: # хранилище: # bootstrap_cache:
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Laravel Octane, как Octane управляет PostgreSQL Connections под Swoole/Roadrunner?
Anonymous » » в форуме Php - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
CGAN: потеря генератора и потеря дискриминатора условной генеративно-состязательной сети.
Anonymous » » в форуме Python - 0 Ответы
- 51 Просмотры
-
Последнее сообщение Anonymous
-