Вы загружаете свой сайт — это быстро. Ваша команда в том же городе подтверждает — быстро. Затем пользователь из Германии пишет по электронной почте: "Ваш сайт загружается 12 секунд". Клиент из Сингапура пишет в Твиттере: "Тайм-аут кассы истекает".
Ваш сайт не везде работает медленно. It's slow somewhere — and you don't know where or why.
Вы потратили месяцы на оптимизацию своего сайта. Оценки Маяка высокие. Основные веб-показатели выделены зеленым цветом. Ваш CDN настроен. SSL настроен правильно.
Потом вы начнете получать жалобы. Не от всех — просто из конкретных регионов. Пользователи в Бразилии сообщают о времени загрузки 8 секунд. Пользователи в Индии не могут завершить оформление заказа. Пользователи в Австралии говорят, что сайт «кажется сломанным».
Тестируешь со своего ноутбука — всё работает. Вы запускаете тест скорости — результаты выглядят нормально. Ваш APM показывает нормальное время отклика. На панели управления CDN показаны все ребра в рабочем состоянии.
Но жалобы продолжают поступать. И у вас нет возможности увидеть, что на самом деле испытывают эти пользователи.
Это реальность работы веб-сайта с международными пользователями. Ваш веб-сайт может работать медленно в некоторых странах, но быстро в других — и если вы не отслеживаете его из этих стран, вы никогда не узнаете об этом, пока это не будет стоить вам дохода.
Интернет — это не единая сеть, а совокупность тысяч автономных систем, каждая из которых имеет свои особенности, пиринговые соглашения и режимы сбоя.
Прежде чем браузер сможет подключиться к вашему серверу, ему необходимо разрешить ваше доменное имя. Если у вашего DNS-провайдера нет узлов Anycast рядом с местоположением пользователя, одно только разрешение DNS может добавить 200–500 мс к каждой загрузке страницы.
Пример. Пользователь из Южной Африки, отправляющий запрос на DNS-сервер в Европе, добавляет время прохождения туда и обратно более 150 мс — еще до того, как начнется первый HTTP-запрос.
BGP (протокол пограничного шлюза) определяет, как пакеты проходят через Интернет. Неоптимальная маршрутизация может направлять трафик в причудливые обходные пути — пакеты из Бразилии могут маршрутизироваться через Майами, затем через Амстердам, прежде чем достичь вашего лондонского сервера.
Пример. Пользователь в Сан-Паулу, подключающийся к вашему серверу в Сингапуре, может увидеть задержку в 400 мс из-за маршрутизации через западное побережье США вместо прямых подводных кабелей.
В вашей CDN может быть 200 периферийных местоположений, но не все они равны. Некоторые ребра перегружены. У некоторых устаревшие кэши. У некоторых возникают проблемы с подключением к вашему источнику. На странице статуса CDN указано «работает», но ваши пользователи в Джакарте испытывают 5-секундный TTFB.
Пример. Edge CDN в Маниле мгновенно обслуживает кэшированный контент. Edge в Хошимине имеет промах в кэше и каждый раз медленно выполняет выборку источника.
Некоторые интернет-провайдеры ограничивают трафик для определенных диапазонов IP-адресов или хостинг-провайдеров. У других в часы пик точки пиринга перегружены. Пользователи одного интернет-провайдера загружают ваш сайт за 1 секунду; пользователи другого провайдера в том же городе ждут 10 секунд.
Пример. У пользователей Reliance Jio в Индии время загрузки составляет 8 секунд. Пользователи Airtel в том же городе испытывают задержку в 1,2 секунды. Тот же сайт, тот же город, другой провайдер.
Печальная реальность: Все эти проблемы невидимы с вашего местоположения. Ваш сервер быстрый. Ваш код оптимизирован. Ваш CDN настроен правильно. Но где-то между вашей инфраструктурой и определенными пользователями что-то добавляет секунды к каждому запросу — и вы можете обнаружить это, только отслеживая, где на самом деле находятся эти пользователи.
Стандартные инструменты мониторинга предназначены для обнаружения сбоев, а не регионального снижения производительности.
Большинство инструментов мониторинга скорости веб-сайтов проверяют данные из 3–10 мест, большая часть которых сосредоточена в США и Западной Европе. Если ваши пользователи находятся в Юго-Восточной Азии, Латинской Америке, на Ближнем Востоке или в Африке — вы летите вслепую.
Выполнение синтетических проверок из регионов AWS или GCP не является репрезентативным. Соединение «облако-облако» часто лучше, чем домашние или корпоративные сетевые пути. Ваш мониторинг показывает 200мс; реальные пользователи испытывают 2000 мс.
Знать, что страница «медленная», недостаточно. Это DNS? TCP-соединение? TLS-рукопожатие? Время до первого байта? Загрузка контента? Без анализа задержки вы не сможете диагностировать, связана ли проблема с вашим сервером, CDN или сетевым путем.
Если на пути возникает проблема с маршрутизацией или потеря пакетов, вам нужны данные трассировки и MTR, чтобы определить, где пакеты задерживаются или отбрасываются. Большинство инструментов мониторинга не предлагают этого, поэтому вы не можете доказать своему CDN или хостинг-провайдеру, в чем именно заключается проблема.
Если вы отслеживаете только 10 мест, вы видите менее 10 % впечатлений ваших пользователей. Остальные 90% могут оказаться в совершенно другой реальности.
Медленный веб-сайт в некоторых странах — это не просто незначительное неудобство, это проблема бизнеса.
Пользователи, у которых наблюдается медленная загрузка, не жалуются — они уходят. Задержка в 3 секунды увеличивает показатель отказов на 32%. Задержка в 5 секунд увеличивает его на 90%. Эти пользователи никогда не появляются в вашей аналитике, поскольку они так и не завершили загрузку вашего кода отслеживания.
Если ваша страница оформления заказа в Германии загружается 10 секунд, вы теряете немецких клиентов. Если срок действия вашей регистрационной формы в Индии истечет, вы потеряете второе по величине интернет-население в мире. Это не крайние случаи — это целые рынки, которые вы непреднамеренно игнорируете.
Google сканирует данные из разных мест по всему миру. Если Googlebot испытывает медленную загрузку из определенных регионов, ваши основные веб-показатели страдают, бюджет сканирования уменьшается и рейтинг падает — не в глобальном масштабе, а на конкретных рынках. Вы видите снижение трафика и понятия не имеете, почему.
Слухи распространяются. «Эта услуга непригодна для использования в Азии». «Не беспокойтесь, из Европы это никогда не работает». Сообщения на форумах, твиты и комментарии на сайтах обзоров создают впечатление, которое трудно изменить, особенно если вы даже не знаете о существовании проблемы.
Для диагностики проблем региональной эффективности необходимы три вещи: глобальный охват, глубина диагностики и исторический контекст.
Не просто мониторьте из «Азии» — мониторьте из Токио, Сингапура, Мумбаи, Джакарты, Сиднея. Не просто мониторьте из «Европы» — мониторьте из Франкфурта, Лондона, Амстердама, Варшавы, Стокгольма. В каждом месте обнаруживаются разные сетевые пути и потенциальные узкие места.
Сопоставьте места мониторинга с тем, где на самом деле находятся ваши пользователи.
Измеряйте каждый этап: поиск DNS, подтверждение TCP, согласование TLS, время получения первого байта, передачу контента. Если страница работает медленно, вы точно будете знать, на каком этапе она виновата, и можно ли это исправить, или это проблема вышестоящей сети.
«Медленный» — это расплывчато. «500 мс DNS + 200 мс TTFB» является действенным.
Если регион работает медленно, трассировка показывает, какой именно сетевой переход увеличивает задержку. Историческое сравнение покажет вам, является ли это новым поведением или так было всегда. Вместе они помогут вам определить, является ли это временной проблемой или постоянной проблемой маршрутизации.
Данные Traceroute являются вашим доказательством при передаче информации поставщикам.
Пошаговый подход к определению того, почему ваш сайт работает медленно в одних странах, но быстро в других.
Извлекайте данные из Google Analytics, Cloudflare или журналов вашего сервера. Определите 10 лучших стран и городов, из которых приезжают ваши пользователи. Это места, из которых вы должны осуществлять мониторинг.
Используйте службу мониторинга, которая проверяет более чем 50 мест и обеспечивает пофазную синхронизацию (DNS, TCP, TLS, TTFB). Без такой детализации вы будете знать, что что-то происходит медленно, но не будете знать, что и почему.
Когда вы обнаружите медленный регион, запустите трассировку и MTR, чтобы увидеть сетевой путь. Ищите прыжки с высокой задержкой, потерю пакетов или необычную маршрутизацию. Эти данные сообщают вам, связана ли проблема с вашим CDN, вашим источником или магистральной сетью Интернета.
Убедитесь, что ваша CDN действительно обслуживает контент с ближайшего края. Проверьте коэффициент попадания в кеш для каждого региона. Промах в кэше означает медленную выборку источника. Некоторые ребра могут быть неправильно настроены или перегружены.
Если разрешение DNS в некоторых регионах медленное, возможно, у вашего DNS-провайдера нет узлов Anycast поблизости. Рассмотрите возможность использования поставщика DNS с лучшим глобальным покрытием или добавьте вторичного поставщика для обеспечения избыточности.
Обращаясь к вашему CDN, хостинг-провайдеру или службе DNS по поводу региональных проблем, принесите данные трассировки, временные разбивки и исторические диаграммы. «В Сингапуре медленно» игнорируется. «Вот 30 дней трассировки, показывающие скачок в 400 мс на вашей границе» начинает действовать.
Настройте оповещения для определенных регионов, которые будут уведомлять вас, когда задержка превышает пороговое значение или снижается доступность. Вам не нужны глобальные оповещения о простоях — вам нужны оповещения о снижении производительности для конкретного региона.
Каждую неделю тратьте 10 минут на анализ региональных тенденций эффективности. Медленная деградация невидима в реальном времени, но очевидна на исторических графиках. Выявляйте проблемы до того, как они усугубятся.
Latency Global был создан специально для решения проблемы «медленно в одних странах, быстро в других». Мы отслеживаем ситуацию из более 70 реальных мест на 6 континентах — не только облачных регионов, но и реальных точек наблюдения в сети, которые отражают то, что испытывают реальные пользователи.
Каждая проверка включает полную разбивку по задержке: DNS, TCP, TLS, TTFB. Вы можете запускать трассировку и MTR по требованию из любого места. Исторические данные позволяют сравнивать текущую производительность с базовыми показателями. И это стоит 5 долларов США в месяц, а не 200–500 долларов США, которые обычно стоят для глобального мониторинга предприятия.
Глобальный мониторинг обходится дорого, поэтому большинство инструментов ограничивают местоположение. Мы удерживаем цены на низком уровне, обслуживая платящих клиентов, а не поддерживая уровни бесплатного пользования.
Наиболее распространенными причинами являются: задержка разрешения DNS (у вашего DNS-провайдера нет серверов рядом с этими пользователями), неоптимальная маршрутизация BGP (пакеты выбирают неэффективные пути), проблемы с производительностью границ CDN (промахи в кэше или перегрузка ребер), а также регулирование или перегрузка регионального интернет-провайдера. Единственный способ определить, что является причиной вашей конкретной проблемы, — это осуществлять мониторинг из этих мест с полной разбивкой по задержке и данными трассировки маршрута.
Одноразовые тесты дают вам моментальный снимок, но производительность меняется в течение дня. Вам необходим непрерывный мониторинг, чтобы выявлять периодические проблемы, выявлять закономерности (например, замедление работы в часы пик в определенных регионах) и строить исторические базовые показатели. Бесплатный тест скорости также не даст вам данных о задержке или трассировке маршрута для диагностики основной причины.
«Рабочий» не означает «оптимальный». Edge-серверы могут работать, но: имеют низкий коэффициент попадания в кэш (принудительная выборка источников), перегружены в часы пик, имеют устаревший или неправильно настроенный контент или плохое соединение с определенными интернет-провайдерами. Независимый мониторинг за пределами вашей CDN дает вам достоверную информацию, которую не показывают панели мониторинга CDN.
Посмотрите на разбивку по задержке. Если TTFB (время до первого байта) велико, но DNS/TCP/TLS в норме, проблема в исходном сервере. Если подтверждение DNS или TCP высокое, проблема связана с вашим сервером. Traceroute показывает, какой именно сетевой переход увеличивает задержку — будь то ваш хостинг-провайдер, транзитная сеть или интернет-провайдер.
Возможно, вы не сможете устранить проблемы на уровне интернет-провайдера напрямую, но вы можете: (1) убедиться, что это не ваша инфраструктура, (2) задокументировать проблему для затронутых клиентов, (3) изучить альтернативные ребра CDN, которые маршрутизируются по-другому, (4) добавить исходные серверы в регионах с постоянными проблемами или (5) связаться с сетевой командой вашего хостинг-провайдера с доказательствами трассировки, чтобы изучить изменения в пиринге.
Для производственных веб-сайтов с международными пользователями интервал проверки составляет 1 минуту. Это выявляет периодически возникающие проблемы и дает достаточно данных для значимого анализа тенденций. 5-минутные интервалы приемлемы для менее важных страниц, но вы пропустите кратковременные проблемы.
Перестаньте гадать, почему ваш сайт работает медленно в некоторых странах. Добавьте свой URL-адрес, выберите места для мониторинга и узнайте, что на самом деле испытывают ваши пользователи по всему миру, прежде чем они отправят вам об этом электронное письмо.
5 долларов США в месяц • Никаких контрактов • Отмена в любое время