Сказ о том, как из-за одной опции на серверной Windows у нас сайты тормозили



    Многие уже слышали, что Cloud4Y — это корпоративный облачный провайдер. Поэтому не станем рассказывать о себе, а поделимся небольшой историей о том, как у нас возникли проблемы с доступом к некоторым сайтам и что послужило причиной этого.

    В один прекрасный день отдел маркетинга пожаловался инженерам, что при работе через терминал в браузерах долго грузятся некоторые сайты. В частности, жизненно важный для них vk.com. Сигнал мы приняли, начали разбираться, в чём проблема.

    Итак, ситуация: интернет-провайдер «Мегафон», серверная ОС Windows, браузер Firefox. Если открыть «ВКонтакте» с обычной Windows 10, то сайт загрузится за 10-100 ms. Если же мы попробуем открыть с Windows Server 2012/16/19, то задержка составляет до 15 секунд, а то и больше.

    Взяли пиксель ВК, и через него начали отрабатывать возможные версии происходящего.

    Проверка гипотезы №1 — проблема с сервером терминалов.
    Не подтвердилась. При тестовом открытии страницы через другой сервер в той же сети проблема сохранилась.

    Проверка гипотезы №2 — проблема в шлюзе.
    Не подтвердилась. Отмечено, что у локальных ноутбуков всё открывается легко и быстро. Но при этом у терминалов (и внутренних серверов) проблема сохраняется. Поигрались с настройками ICMP на внешнем и внутреннем интерфейсе — не помогло.

    Странно как-то получается.

    С локального ноутбука сайт не тормозит.
    С внутренней Scan-машины (терминал для сканирования) — не тормозит.
    А у маркетинга тормозит. Непорядок!

    Поехали дальше.

    Проверка гипотезы №3 — проблема в DNS.
    Не подтвердилась. Запустили пиксель через публичный DNS (8.8.8.8) — та же история. Проблему явно видно, когда первый раз дёргаешь этот пиксель в режиме инкогнито, например.

    Возникает подозрение, что проблема сильно от браузера зависит. В FF пиксель тупит всегда, в хроме при первом входе. У маркетинга тупит постоянно и на всех браузерах.

    Проверка гипотезы №4 — Что-то с шаблоном ОС.
    Не подтвердилась. Развернули чистую Windows Server 2016, запустили тест из сети .0. Получили проблему. Перевели в сеть .200., проблема сохранилась. То есть гейт сети .0. ни при чём. При этом ноутбуки из этой сети не имеют этой проблемы. То есть и гейт сети .200. тоже ни при чём.

    То есть дело не в шаблоне ОС получается. Виртуальная машина тормозит с загрузкой пикселя. Но если поднять на ней VPN (отдельная сетевая карта) и трафик пустить через него, то всё отрабатывает очень быстро (как и должно быть). Видим, что есть два варианта, способных вызвать проблему: шлюз в офисе или оператор интернета в офисе.

    Но разве может Мегафон специально обрезать доступ к пикселю ВКонтакта? Не, ерунда какая-то. Пробуем покопаться ещё.

    Проверка гипотезы №5 — во всём виноваты VMware Tools.
    Не подтвердилось. Никаких вредных действий не наблюдается. Попробовали настройки карты менять, тоже нет. TTL поменяли — никакого эффекта. Ну вообще непонятно, в чём разница между Windows 10 и Windows Server. Но разница есть. Как в истории с сусликом.



    Проблемой мы занимались довольно много времени. Само собой, гуглили похожие ситуации, но не находили ничего. Так что действовали без подсказок, отрабатывая все возможные версии. Провели тестирование с ноутбука Windows 2016, чтобы убедиться, что в подтормаживании при загрузке пикселя виновата не виртуализация и прочее. Меняли все возможные настройки сетевой карты и IP стека. Перепробовали кучу всего. Но проблема оставалась, а маркетинг бил копытом и требовал всё починить.

    Через некоторое время мы всё-таки нашли, где собака зарыта. Всё дело было в опции
    netsh interface tcp setglobal ecncapability=disabled

    Данная опция по умолчанию отключена на десктопных ОС Windows и по умолчанию включена на серверных. Как только мы отключаем её на серверной, всё открывается моментально, так же, как и на десктопной. Мы смогли подтвердить данную проблему от провайдера, который предоставляет нам интернет в офисе (Мегафон), через мобильный интернет Мегафона (если расшарить его с телефона и подключиться через Windows Server), через Yota, пробовали в некоторых районах Москвы и данная проблема везде присутствовала. При работе на других операторах доступ к сайту был мгновенный.

    Вот такая вот загогулина, как выражался один видный политический деятель. В принципе, проблема сейчас решена, но нам очень интересно: она возникала только у нас или это масштабное бедствие, затрагивающее компании из других городов? Если этот случай не единичный, то Мегафону стоит подумать о решении этой проблемы. Ведь опция ECN (ecncapability) по умолчанию включена на серверах, и чтобы разобраться, в чём суть, нужно потратить немало времени.

    Как проверить? Да так же, как и мы. Через браузер Firefox пытаемся открыть любую страничку vk.com и повторно через ctrl+f5. Если проблема присутствует, будет постоянная задержка, если проблемы нет, сайт будет открываться моментально.

    Что ещё полезного можно почитать в блоге Cloud4Y

    Солёная солнечная энергия
    Как «сломался» банк
    Великая теория снежинок
    Интернет на воздушных шарах
    Пентестеры на передовой кибербезопасности

    Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью! Пишем не чаще двух раз в неделю и только по делу.

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Наблюдается задержка с загрузкой через серверную Windows?

    • 6,8%Да, долго грузится3
    • 47,7%Нет, всё летает21
    • 45,4%Проблема не в настройках, а в маркетологах20
    Cloud4Y
    #1 Корпоративный облачный провайдер

    Комментарии 9

      +21
      Извините, но так статьи на хабре не пишут. Так и непонятно: что эта за опция, почему она тормозила, и почему вы её отключили?
        0
        Уведомление о перегруженности канала ECN
        Windows versions since Windows Server 2008 and Windows Vista support ECN for TCP. Since Windows Server 2012, it is enabled by default in Windows Server versions. In previous Windows versions and non-server versions it is disabled by default.
        0
        Странно. Гугл об этом знает с 2014 года (первая ссылка в поиске)
        www.saotn.org/explicit-congestion-notification-ecn-slows-outbound-connections
          +1

          Кто то, где то напутал с ecn и полисингом на маршрутизаторах.

            +7

            Ну как так-то, а где пруфы из Wireshark? Или вы его не запускали?

              0
              Любопытно, 701 ms это долго или быстро? ИМХО немного долго.
              Полная загрузка всей ленты 5 сек — долго или быстро? — вроде норм.
                0

                Думаю, о проблеме мало кто знает, т.к. редко кто через серверные ОС сидит в вк

                  0
                  Мегафон (Йота это тоже мегафон) — самый ужасный магистральный оператор и провайдер. Это мне как инженеру крупного ISP известно. Мы его у себя в отделе называем Мегафно. У них вечно какие-нибудь проблемы.
                    0

                    Пять копеек насчёт быстродействия сайта МегаФон: только у меня на абсолютно разных провайдерах очень часто так долго открывается их сайт, что впору думать, что интернет отвалился. Ан нет, он и правда "упал". Такое часто и с личным кабинетом. Просто патологически гигантские задержки в открытии, например, их интернет-магазина.

                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                    Самое читаемое