Pull to refresh

Comments 11

patch ngx_event_openssl.c < openssl.c.patch

Почему не сложить все патчи в корень папки с nginx и потом patch -p1 < *.patch?

Если сработает — пожалуйста, можно так.

Почему оно должно не сработать? Это ж не магия. Утилита с понятными ключами, исполняющаяся в понятном окружении.

А если вы используете HTTP/2, то есть еще буферизация с использованием http2_chunk_size (по умолчанию 8k).
Директива `http2_chunk_size` не имеет никакого отношения к буферизации.
Спасибо за уточнение, отредактировал на более корректную фразу.
А сам Nginx не планирует принять эти патчи в основную ветку?

Чтобы иметь 5 директив, которые невозможно настроить правильно в сколь угодно сложном окружении, которым является интернет?


Если очень хочется, то можно уменьшить ssl_buffer_size до 6-8k и этого более чем достаточно для обеспечения минимального TTFB в большинстве случаев.

Проблема лишь в том, что маленький ssl_buffer_size добавляет измеримый CPU-overhead. И если есть желание оптимизировать один и тот же конфиг для пропускной способности и низкой задержки, то необходимо вручную выставлять нужный размер буферов для каждого server/location блока в зависимости от гистограммы размеров ответов.

Альтернативный путь — можно изменить размер initcwd. В Linux это делается командой «ip ro», настраивается для маршрутов по отдельности. Также заодно можно подкрутить параметр initrwnd.
Доступно на ядрах 2.6.33+.

Пример команды:

ip route change default via 192.168.0.1 dev eth0 proto static initrwnd 10 initcwnd 10

Вместо 192.168.0.1 и eth0 укажите адрес своего роутера и сетевой интерфейс, посмотреть их можно командой «ip route show». Можно задать различные значения для различных маршрутов (подсетей).

В Windows также это можно настроить. Гуглится по «Increasing the TCP Initial Congestion Window on Windows 2008 Server R2».
В большинстве современных систем и так стоит initcwd 10. Если бездумно увеличивать дальше, могут возникнуть проблемы (иначе везде уже стояло бы большее значение). Здесь речь идёт о том, как согласовать TLS и TCP для сокращения TTFB.
Я понимаю, о чем идет речь в данной статье.

Для согласования TLS и TCP выходит достаточным поставить значение initcwd 12. Не думаю, что увеличение на два пакета приведет к проблемам, хотя я этого и не проверял.
Sign up to leave a comment.

Articles

Change theme settings