В последнее время нам стало известно о проблеме TCP-соединения, которая в основном ограничена пользователями Mac и Linux, которые просматривают наши веб-сайты.
С точки зрения пользователя, это очень длительное время подключения к нашим веб-сайтам (> 11 секунд).
Нам удалось отследить техническую сигнатуру этой проблемы, но мы не можем понять, почему это происходит или как ее исправить.
По сути, происходит то, что клиентский компьютер отправляет пакет SYN для установления соединения TCP, а веб-сервер получает его, но не отвечает пакетом SYN / ACK. После того, как клиент отправил много пакетов SYN, сервер наконец отвечает пакетом SYN / ACK, и все в порядке для оставшейся части соединения.
И, конечно, кикер к проблеме: она прерывистая и не происходит все время (хотя это случается между 10-30% времени)
Мы используем Fedora 12 Linux в качестве операционной системы и Nginx в качестве веб-сервера.
Снимок экрана анализа проволочной акулы
Обновить:
Отключение масштабирования окна на клиенте остановило проблему. Теперь мне просто нужно разрешение на стороне сервера (мы не можем заставить всех клиентов делать это) :)
Окончательное обновление:
Решение было отключить как TCP масштабирования окна и TCP временные метки на наших серверах, которые доступны для общественности.