Используйте эталонный сервер для повышения скорости сайта

Что вы делаете с эталонным сервером? Вы используете его для доставки минимального контента на другие серверы по всему миру и смотрите, насколько отзывчив ваш веб-сервер. Если ваш веб-сервер находится в Нью-Йорке, а вы загружаете страницу из Лос-Анджелеса, что влияет на задержку между получением и отображением?

По крайней мере, твое подобрать запрос машины должен быть доставлен хотя бы одному маршрутизатору. Но чтобы добраться до этого маршрутизатора, вам, возможно, придется пройти через модем или мультиплексор. Домашние пользователи ходят через модемы. Бизнес-пользователи, у которых есть линии T-1 или выше, проходят через мультиплексоры.

Путь интернет-пакета длиною в жизнь

Из вашего физического местоположения каждый {пакет} IP-запроса должен отправляться на ближайший узел, управляемый вашим интернет-провайдером. Этот узел может быть забит трафиком сотен, а то и тысяч людей вокруг вас. Это так называемая «последняя миля», которая соединяет каждого пользователя Интернета с более крупной магистралью.

Как только ваш запрос проходит узел последней мили, он перемещается по сети вашего интернет-провайдера к ближайшему центру обработки данных (это может потребовать нескольких переходов). Оттуда ваш запрос направляется в точку обмена интернет-трафиком (IEP или IXP). Раньше в Северной Америке было очень небольшое количество IXP, но теперь их много.

MAE West, MAE Central и MAE East являются старейшими и наиболее известными IXP в Северной Америке. Я думаю, что все биржи MAE были закрыты в течение нескольких лет.

Основные интернет-провайдеры «равняются» друг с другом на этих биржах. Я думаю, вы могли бы свободно описать их как огромные супермультиплексоры. Мультиплексоры подключены к демультиплексорам. По сути, вы объединяете несколько линий и объединяете их сигналы в одну линию через мультиплексор, а затем вы разделяете их сигналы и разделяете их на несколько линий с помощью DEmultiplexers. Мультиплексоры могут быть большими и маленькими.

В любом случае наш запрос на получение в конечном итоге окажется в одном или нескольких IXP, где наш интернет-провайдер передаст запрос другим. Они выяснят, какой из них может лучше всего получить запрос как можно ближе к веб-серверу. Нередко запрос на получение проходит через несколько IXP.

Наконец, запрос покидает последний IXP и доставляется основному поставщику услуг, который обслуживает магистраль, ведущую к тому месту, где расположен сервер. Обычно это центр обработки данных, а поскольку центры обработки данных требуют огромных мощностей ввода-вывода, их подключения к Интернету обычно не группируются с небольшими клиентскими подключениями «последней мили».

Пинг на мгновение

Таким образом, вопрос, который должен задавать каждый, звучит так: «Сколько времени требуется, чтобы получить запрос для достижения веб-сервера?»

ЧИТАТЬ   Компания по хранению данных использует исключительную огневую мощь процессора Apple для повышения скорости твердотельных накопителей — OWC ThunderBlade X8 — один из самых быстрых внешних твердотельных накопителей, которые можно купить за деньги, его емкость едва превышает предел в 32 ТБ.

В старые времена вы могли использовать один пинг запрос на проверку соединения. Вы также можете использовать один трассировка (или прослеживается в зависимости от вашей ОС), чтобы узнать, сколько времени требуется базовому запросу для достижения сервера. Проблема с пингОднако отслеживание и отслеживание маршрутов заключается в том, что вы не отправляете полный запрос на веб-сервер. Когда браузер запрашивает веб-страницу, он отправляет более сложный запрос и ожидает гораздо более надежного ответа. Аппаратура также реагирует на пинг но приложение веб-сервера отвечает на немного или помещать (основной выбор страницы).

Когда ваш браузер запрашивает что-то с веб-сервера, происходит целая куча рукопожатий, когда браузер и сервер отправляют информацию туда и обратно, сначала устанавливая TCP-соединение, затем решая, задействовано ли шифрование, нужно ли кому-то аутентифицироваться, и т. д. Сервер отправляет метаинформацию с каждым пакетом («конверт»), и сам веб-документ также имеет метаинформацию (которая варьируется в зависимости от конфигурации сервера, иногда в зависимости от других приложений).




Сколько времени все это занимает? Вот почему вы можете потратить некоторое время на создание эталонного сервера. Вам не нужно ничего делать, кроме как создать поддомен (или специальную папку на корневом хосте), а затем создать специальный документ.

Контрольный документ должен содержать как можно меньше данных. Не вставляйте Javascript, не используйте CSS и не вставляйте изображения. Вы просто хотите отправить простой HTML-документ.

Документ Root Benchmark устанавливает базовый уровень

Базовые показатели — сложная вещь при создании бенчмарка. Обычно люди просто предполагают, что им нужна только «одна хорошая запись», чтобы установить эталон. На самом деле вам нужно сделать несколько изображений или точек данных, чтобы найти среднее время отклика. Не мешало бы рассчитать стандартное отклонение. SD определяет ваши допуски. Если будущий эталонный тест выходит за эти допуски, вы знаете, что где-то на пути поиска есть проблема.

Лучше всего установить несколько ориентиров со всего мира, в зависимости от того, где находится ваша целевая аудитория. Многие неамериканские компании по-прежнему предпочитают размещать свои веб-сайты в США. Однако популярность сетей доставки контента и более крупных сетей облачного хостинга, вероятно, означает, что большинство крупных сайтов по всему миру зеркалируются ближе к тому месту, откуда их необходимо загрузить.

Если вы ведете бизнес на двух континентах, вероятно, будет хорошей идеей установить контрольные точки с двух-трех точек доступа на каждую точку. континент. Физическое расстояние между точкой доступа и центром обработки данных веб-сервера дает приблизительное представление о сложности взаимодействия между точкой доступа и сервером.

Используйте несколько эталонных документов для проверки времени отклика элементов

Я рассматривал возможность добавления дополнительных документов на эталонный сервер Reflective Dynamics, но боюсь, что у кого-то возникнет искушение запустить поисковый робот против него {если его местоположение когда-либо просочится}. Вы оптимизаторы и ваши поисковые роботы. Это неправильный способ измерения сайта, но в этой статье я не буду больше рассказывать о поисковых роботах.

ЧИТАТЬ   В Яндекс Мессенджере улучшен поиск сообщений, чатов и людей - Новости SEO

Вы можете добавить степени сложности, создав несколько документов на тестовом сервере. Добавить, например. вызов таблицы стилей в разделе HEAD второго документа. Добавьте вызов сценария синтаксического анализа в разделе HEAD третьего документа. Объедините эти призывы в четвертый документ.

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

Я бы запросил эталонный сервер только в том случае, если бы я мог видеть время отклика страницы более 10 секунд. Раньше я бы использовал тесты только для сайтов с временем отклика 30+ секунд.

Что влияет на скорость вашей страницы?

Не являясь исчерпывающим, все в этом списке может влиять на воспринимаемую скорость загрузки страницы (все они и/или только некоторые из них):

  1. Доступная вычислительная мощность для запрашивающего устройства
  2. Доступная память на запрашивающем устройстве (переключается ли она на хранилище?)
  3. Какой браузер используется (Chrome уже не самый быстрый Cf.)
  4. Наличие вредоносного ПО на запрашивающем устройстве
  5. Устройство для качества соединения роутера
  6. Состояние локального маршрутизатора
  7. Качество связи последней мили
  8. Статус сети местного провайдера
  9. DNS-преобразователь пользователя
  10. Все основные пиринговые передачи (передачи IXP)
  11. Статус сети локального интернет-провайдера центра обработки данных
  12. Статус сети центра обработки данных
  13. Доступные подключения к серверу
  14. Доступная вычислительная мощность сервера
  15. Доступная память сервера (она переключается на хранилище?)

Пока мы даже не начали загружать веб-документ. У вас может быть 1 миллион таких дорог каждый месяц, каждая из которых строится динамически по мере необходимости. Их может быть 10 миллионов или 100 миллионов. Каждый посетитель вашего сайта представляет собой уникально сконструированный путь данных, который содержит большинство, если не все, уязвимости производительности, перечисленные выше. Это просто точки производительности между машинами.

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

На уровне веб-сервера на время отклика могут повлиять следующие факторы:

  1. Количество активных подключений
  2. Количество активных процессов
  3. Количество операций с базой данных («число» — не то слово)
  4. Качество конфигурации сервера
  5. Качество конфигурации БД (включая «мусор» и «бардак»)
  6. Количество политик и других элементов метаконфигурации (на страницу)
  7. Количество ресурсов на страница
  8. Размер каждого ресурса
  9. Расположение каждого стороннего ресурса (на разных серверах)
  10. Протоколы безопасности

Что обычно проверяет разработчик страницы

Типичный сайт публикует метаинформацию (такие как политики безопасности, заголовки X-whatever и другой мусор «HEAD» за пределами страницы), сам исходный документ и обычно несколько вспомогательных документов, таких как файлы CSS, файлы Javascript, изображения и т. д.

ЧИТАТЬ   Покупатели B2B-технологий хотят доверять контенту. Твоя этого заслуживает? | Институт контент-маркетинга

Разработчик сайта несет ответственность за определение того, что используется и как это обслуживается. Именно здесь большинство людей концентрируют свои усилия на повышении скорости страницы. Вполне естественно думать, что большинство проблем со скоростью создается дизайном веб-сайта. Иногда это предположение верно. Вам нужно развить здравый смысл, чтобы интуитивно диагностировать проблемы со скоростью. Нет контрольного списка, который сделает это за вас.

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

  1. HTML-документ
  2. CSS-файл 1
  3. CSS-файл 2
  4. Скрипт аналитики
  5. Написание сценария 1
  6. Скрипт шрифта 2
  7. Основное изображение (шапка).
  8. Рекламный виджет (исходный код + изображение)

И все мы знаем, что таких запросов в день могут быть десятки, а то и сотни. страница. Браузер должен запрашивать каждый ресурс отдельно, а это означает, что каждый запрос и любой ответ, отправленный обратно, должны пройти через все felgercarb, которые я описал выше.

Каждый хост, добавляющий на вашу страницу хотя бы один доступный для выборки элемент, требует, чтобы браузер пользователя выполнял дополнительный поиск в DNS. Информация DNS может быть кэширована, поэтому вам будет выгодно, если ваши посетители будут получать ресурсы (для других сайтов, которые они посещают) с тех же внешних хостов, на которые вы ссылаетесь, таких как Google Fonts, Google Analytics, различные кнопки социальных сетей, удаленный видео-хостинг. платформы и т.п.

Теперь должно быть более понятно, почему эталонный сервер помогает

Учитывая, сколько ресурсов содержит типичный веб-документ в 2017 году, нет оснований предполагать, что все медленные веб-сайты медленные из-за сложности их дизайна. Эти сайты МОГУТ обслуживать 20-50 изображений размером 1-2 мегабайта на page, но проблема может заключаться в неисправном маршрутизаторе. Также может быть, что пользователь подключается к неисправному преобразователю DNS.

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

Когда я работаю с клиентами, у которых медленные системы, я обычно прошу их создать почти пустой документ. Этот базовый документ служит для меня эталонным сервером для бедняков. Легче попросить об этом, чем объяснять, что такое эталонный сервер и почему я хочу с ним работать. Если получение документа без внешних запросов занимает много времени, проблема на самом деле не в дизайне веб-сайта.

Если вы можете сравнить запросы HTTP и HTTPS и увидеть значительную задержку, это может указывать на большое количество рукопожатий. Сервер может быть настроен неправильно. Может не иметь достаточно установлены старые протоколы шифрования TLS. Это просто иллюстративный пример. Скорее всего, вы найдете проблему в другом месте.

Заключение

Диагностика проблем со скоростью сайта без надлежащего эталонного документа или сервера в значительной степени является стрельбой в темноте. У вас может не быть времени и ресурсов для тестирования чего-либо из 20 мест по всему миру, но вы должны иметь возможность протестировать способность сервера доставлять «чистые» веб-документы, прежде чем сделать вывод, что требуется дорогостоящее решение.

Эта статья первоначально появилась в томе 6, выпуске 25 (7 июля 2017 г.) информационного бюллетеня SEO Theory Premium. Подпишитесь сейчас за 25 долларов в месяц или 200 долларов в год и получайте новые статьи каждую неделю.



Source