1

У меня странная проблема, которая приводит к длительным задержкам http-запросов (в данном случае POST) к моему собственному веб-серверу. Это происходит только если
- используется клиент Linux или Mac (Windows в порядке), и
- используется беспроводная связь, кабельное соединение в порядке
Это происходит как в диапазоне 2,4 ГГц, так и в диапазоне 5 ГГц. На полосе 5 ГГц активны только 3 другие точки доступа, и я выбрал канал, который далек от этого (автоматическая настройка точки доступа также не улучшает ситуацию). Таким образом, я исключаю внешние помехи беспроводной связи как причину. Большинство (все?) другие веб-сайты по той же беспроводной сети в порядке.

Wireshark говорит мне, что разница между кабельным и беспроводным соединением заключается в ретрансляции TCP. Это приводит к задержкам в 10-20 секунд. Следующее изображение, показывает
- linux по беспроводной сети -> ретрансляция и задержка
- Windows на беспроводной (тот же клиент) -> повторная передача, без задержки
- Linux на кабеле -> нет повторной передачи

Это происходит не для всех запросов, а для большинства из них. Однако повторная передача всегда находится в одной и той же точке сообщения (ответ 200 OK на запрос POST).

Лучше всего было бы найти причину потери / повторной передачи пакета, но даже принимая их как неизбежные, я удивлен, что такие небольшие потери могут привести к задержке в десятки секунд. Насколько я понимаю, TCP должен быть в состоянии справиться с этим гораздо лучше.

Вот некоторые подробности по настройке:
- Сервер под управлением Ubuntu 14.04, ядро 3.13.0-042stab108.2 (внутри виртуальной машины)
- Клиентское устройство работает под управлением Ubuntu 12.04.5, ядро 3.2.0-97, драйвер iwlwifi, Centrino Advanced-N 6230 AGN REV = 0xB0
- Устройство находится в локальной сети, NAT сделан маршрутизатором / Wi-Fi AP FritzBox 7390, работает FRITZ!ОС 06.30

0