librown
@librown
На-все-руки-мастер и немного кодер

Почему такая разница между Nginx и Apache в метрике «Content Download»?

Проект работал на связке "Nginx + Apache + mod_php". Статику отдавал nginx, все скрипты обрабатывал Апач.

Сейчас на этом же сервере поднял "Nginx + PHP-FPM 5.6".

В обоих веб-серверах включен gzip и http2.

Для сравнения скорости работы настроил отдельный тестовый location, таким образом условия тестирования равнозначные. Но результаты странные:

1. TTFB - в 7 раз упал (это было ожидаемо и это отлично)
2. Но "Content Download" резко подскочил.

67629006cc.png
Кажется, что так не должно быть - раз апач мог отдавать с такой большой скоростью - значит физически каналы это позволяют. Коллеги, подскажите, из-за чего такое может происходить?
Заранее спасибо!
  • Вопрос задан
  • 295 просмотров
Решения вопроса 1
@rPman
Скорее всего все зависит от того как приложения отдают http заголовки.

Когда работает через apache, TTFB ждет долго потому что пока приложение не отработает до конца, даже заголовки не будут отправлены, т.е. время, которое занимает работа приложения это TTFB+content download

Когда же работает через php fpm, за заголовки отправляются тут же, nginx не ждет когда закончится работа приложения для этого, а значит TTFB маленький (кстати 122мс это ДОЛГО что там происходит?) а уже генерация контента происходит пока идет content download
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Я бы не назвал условия "равнозначными".

Просто установить вместо апача нгинкс и php-fpm недостаточно, чтобы гарантированно получить прирост производительности. Нужно смотреть, как было настроено, как настроено сейчас, крутить крыжики, профилировать...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы