Laravel Octane + Native Docker + WSL2: экстремальные проблемы с производительностьюLinux

Ответить
Anonymous
 Laravel Octane + Native Docker + WSL2: экстремальные проблемы с производительностью

Сообщение Anonymous »

У меня возникли серьезные проблемы с производительностью моего приложения Laravel, работающего на Docker + WSL2. Несмотря на многочисленные оптимизации, все страницы загружаются за 2-10 секунд. Я надеюсь, что кто-нибудь сталкивался с этим и сможет указать мне правильное направление.

Код: Выделить всё


## Environment

- **OS:** Windows 11 with WSL2 (Ubuntu)
- **Framework:** Laravel 11 + Filament 3 + Livewire 3
- **Server:** Laravel Octane with Swoole (4 workers)
- **Setup:** Docker Compose (multi-container)
- **Database:** Microsoft SQL Server (Docker container)
- **Cache/Session:** Redis (local Docker container)
- **Project Location:** WSL2 native filesystem `/data/www/` (NOT `/mnt/c/`)

## The Problem

**Every single page** takes 2-10 seconds to load in the browser, despite server logs showing only 300-400ms PHP processing time.

**Performance Metrics:**

Server logs (`storage/logs/performance-*.log`):
```json
{
"total_ms": 300-400,
"database_ms": 0,
"app_logic_ms": 300-400
}
Инструменты разработчика браузера (реальный опыт пользователя):
  • Простые страницы: 2–4 секунды
  • Панель управления: 6–10 секунд
  • Все страницы постоянно замедляются
Разница составляет 1,5–9,5 секунд между тем, что сообщает сервер (300 мс), и тем, что пользователь испытывает (2–10 секунд).
Что я уже пробовал
Я реализовал все оптимизации, которые смог найти:
OPcache CLI включен –

Код: Выделить всё

opcache.enable_cli=1
[/b] проверено с помощью [/b]

Поставщик в томах Docker – перемещено [/b] и

Код: Выделить всё

node_modules/
[/b] к именованным томам Docker (не привязывать монтирование)

Оптимизированы рабочие процессы Swoole - Использование 4 рабочих процессов

Кэширование Laravel

Инструменты отладки отключены - APP_DEBUG=false
, Debugbar и Clockwork выключены

Локальный Redis - REDIS_HOST=redis (Docker-контейнер, не удаленный)

Локальное хранилище — переключение с хранилища BLOB-объектов Azure на локальный диск

Вещательная рассылка отключена — BROADCAST_CONNECTION=log
===================================
Что я заметил
  • Журналы сервера постоянно показывают время обработки 300–400 мс
  • Показывает браузер 2–10 секунд общее время загрузки
  • Разрыв в 1,5–9,5 секунды не учитывается
  • Затронуты все страницы, а не только отдельные функции
  • Последующие обновления не ускоряются (кэширование не помогает)
    Итак, вопрос:
    Это нормальные накладные расходы для Docker + WSL2? Стоит ли мне рассчитывать на загрузку страниц с этим стеком в течение 2–10 секунд?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»