Что должен знать каждый разработчик про tcp
Роберто Витилло опубликовал в своём блоге статью про TCP — "What every developer should know about TCP".
Есть распространённое ошибочное предположение, что при отправке данных с помощью TCP пропускная способность канала связи не зависит от времени задержки. В статье объясняется, почему это не так.
При установке соединения сетевой стек операционной системы ищет наиболее подходящее количество пакетов (congestion window), которое можно отправить за один round-trip и которое не зафлудит канал получателя. Время доставки такой порции данных определяется с помощью round-trip time (RTT). Теоретическая максимальная пропускная способность зависит от этих двух показателей: Bandwidth = WinSize / RTT
. Именно по этой причине сервера стараются размещать ближе к своим пользователям.
Статья написана очень понятно, рекомендую почитать всем, кто интересуется темой производительности.
https://robertovitillo.com/what-every-developer-should-know-about-tcp/