Скорость загрузки


MegaIndex начал анализировать скорость загрузки документов сайта.

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

Скорость загрузки сайта

Оптимизация скорости загрузки сайта является частью комплекса работы по поисковой оптимизации.

Скорость загрузки напрямую влияет на ряд параметров:

  1. Выдача на мобильных устройствах формируется с учетом скорости загрузки;
  2. Поведенческие факторы зависят от скорости загрузки сайта;
  3. Краулинговый бюджет зависит от пропускной возможности сервера, рассчитывается на основе данных о падении скорости;
  4. Конверсия сайта падает при низкой скорости загрузки сайта;
  5. Экономия батареи мобильного устройства;
  6. Экономия денег на расход трафика.

Польза от оптимизации скорости загрузки документов сайта очевидна. Согласно данным Amazon, задержка загрузки на 100ms снижает конверсию на 1%.

Есть способы увеличить скорость загрузки сайта без дополнительных финансовых вложений в дистрибутивные сети доставки контента.

Приоретизация загрузки документов

Приоритезация загрузки документов через браузера Chrome, Safari имеет определенную последовательность.

Этапы загрузки:


  1. Документ, CSS, шрифты;
  2. JS, XHR (ajax запрос);
  3. JS вне тега head, изображения;
  4. JS async, JS defer, JS модули, изображения;
  5. navigator.sendbeacon, prefetch, изображения.

Как увеличить скорость сайта

Способы ускорить загрузку сайта:

  • Critical CSS;
  • Сжатые форматы типа WebP;
  • Предзагрузка
  • Постзагрузка/Lazy loading;
  • HTTP/2.

Critical CSS

Critical CSS означает подключение в head стилей для первых двух экранов, остальные загружаются по требованию.

Сжатые форматы

Для изображений в документе сайта рекомендуется использовать автоматический конвертер в формат Google WebP.

Предзагрукза

Предзагрузка элементов бывает разной по приоритету. Наивысший приоритет у preload. Пример:

<link rel="preload" href="some.js" as="script">  <link rel="preload" href="some.css" as="style">  <link rel="preload" href="picture.jpg" as="image">  <link rel="preload" href="picture.woff" as="font">

Способ preload позволяет полностью предзагрузить все страницы в невидимой вкладке. Проверить вкладки можно по ссылке — chrome://net-internals/#prerender.

Низкий приоритет у следующих способов:

  • dns-prefetch
  • prefetch
  • prerender
  • preconnect

Примеры:

<link rel="prefetch" href="/source/">  <link rel="dns-prefetch" href="https://youdomain.com">  <link rel="prerender" href="next-page">

Постзагрузка

Ленивая загрузка применяется к изображениям видео. Пример:

<img src="blank.svg" data-src="cool.jpg">

Постзагрузка может быть применена к скриптам. Скрипты будут загружены в фоне сразу после загрузки страницы если использовать директиву defer.
Скрипты будут загружены без блокировки страницы если использовать директиву async.

HTTP/2

HTTP/2 позволяет загружать множество элементов параллельно.

Преимущества:

  • За счет сжатия заголовков уменьшает объем передаваемых данных;
  • Бинарный протокол означает быстрое и простое интерпретирование;
  • Мультиплексирование позволяет за одно соединение забирать несколько файлов;
  • Запросы к ресурсы по разным хостам могут быть сделаны за одно соединение, уменьшая количество соединений.

Кэширование

Кэширование правильно делать на разных уровнях. Например:

  • Кэширование запросов к базе данных;
  • Кэширование запросов к файлам;
  • Кэширование медиа файлов;
  • Кэширование SSL переговоров.

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

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

Использование SSD-диска на сервере

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

Сравнение скорости считывания на дисках и в оперативной памяти (IOPS — операций ввода-вывода в секунду):

  • HHD — 100;
  • SSD — 300 000;
  • RAM — 4 000 000.

Проверка скорости загрузки сайта

Инструменты для оценки скорости сайта:

  • Pingdom;
  • Axe;
  • Приложение для Chrome — Axе;
  • Приложение для Chrome — Axe Coconut.

Ускорить сайт можно используя продвигаемую Google технологию Accelerated Mobile Pages.

AMP

Внедрение технологии осуществляется посредством использования специальной разметки и скриптов.

  • Подключение Accelerated Mobile Pages простое:
  • В начале документа обозначается поддержка amp; Далее требуется указать коническую версию документа;
  • Подключить скрипт обработчик Accelerated Mobile Pages;
  • В коде документа требуется использовать Accelerated Mobile Pages.

<html amp>  <link rel="canonical">  <script amp></script>  <amp-img layout="responsive">

Google AMP Validator

Технология ограничивает скрипты и создана для документов состоящих из простых элементов: текстов и изображений. Использование скриптов javascript запрещено. Использование CSS скриптов ограничено:

  • Запрещено использование important;
  • Запрещено использование анимации.

PostCSS плагин прогоняет сайт, показывает что можно использовать в AMP из текущего сайта.

Валидация кода можно быть проведена через Google Validator.

Для расширения возможностей Accelerated Mobile Pages можно подключить дополнительные компоненты из библиотеки. Компоненты нельзя переопределить то есть изменить дизайн.

Примеры

Сайты использующие технологию от Google:

  • wired.com;
  • theguardian.com;
  • washingtonpost.com;
  • meduza.io

Найти примеры коммерческих документов можно по поисковому запросу:

macbook ebay

Есть и преимущества от использования AMP. Преимущества:

  • Бесплатное внедрение
  • Inline CSS, все стили инлайном подключены в head;
  • Lazyload загрузка контент попадающего в viewport, остальное загружается при необходимости; component не будет инициализироваться, картинка не будет загружаться;
  • Загрузка и prerendering первого экрана документа на в поисковой выдаче Google.

Проверка скорости загрузки сайта

Проверить скорость загрузки страниц сайта можно используя решения разного уровня. Список сервисов:

  • Pingdom;
  • Axe;
  • Axe приложение для Chrome — Axe. Приложение для Chrome — Axe Coconut.

Сервис Pingdom позволяет провести проверку скорости загрузки документов на уровне отклика сервера доменных имен.

ru.megaindex.com

1. Google PageSpeed Insights

Инструмент Google PageSpeed Insights

Инструмент оценки скорости загрузки страниц от Google. Показывает значение от 0 до 100 как для компьютеров, так и для мобильных устройств. Тут же указывает на слабые места сайта и дает рекомендации по оптимизации скорости.

2. Pingdom Tools


Проверка скорости с помощью сервиса Pingdom Tool

Дает оценку по скорости, показывает количество обращений к серверу и среднее время загрузки. В сводной таблице подробно отображет данные по каждому запросу к серверу (стили, скрипты, изображения и др). Легко оценить, что именно на сайте замедляет загрузку.

3. WhichLoadFaster

Which Load Faster - Сравнение двух сайтов по скорости

Загружаете два сайта для сравнения (себя и конкурента), визуально наблюдаете, кто загружается быстрее (удобно демонстрировать клиентам). В конце загрузки отображается информация, какой сайт выиграл и во сколько раз быстрее он загрузился.

4. Web Page Performance Test

Подробная статистика по Web Page Performance Test

Загружает страницу два раза, сравнивает количество обращений – выявляет, насколько хорошо организовано кеширование, показывает подробную статистику по каждому из тестов. Сохраняет скриншоты, как сайт выглядит на каждой секунде загрузки. Также в удобной форме демонстрирует, какая группа запросов заняла больше всего времени. Сервер находится в Далласе (США).

5. GTmetrix


GTmetrix - сводная статистика по скорости и история

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

6. Load Impact

Load Impact - легкий ДДОС для теста сайта

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

7. Monitis Tools

Monitis Tools - проверка скорости загрузки с разных участков Земли

Анализирует загрузку сайта с разных участков Земли — серверы в США, Европе и Азии. Отображает сводную статистику по каждому тесту.

8. SiteSpeed.me


SiteSpeed.me - с каких географических участков скорость наилучшая или наихудшая

Посылает запросы к анализируемой страницы с разных датацентров (около 30 серверов) и определяет скорость для каждого из них. Подсвечивает лучшие, худшие и средние показатели по времени и скорости.

9. PR-CY

PR CY - массовая проверка скорости загрузки сайтов

Массовая проверка скорости сайта. Можно задавать до 10 адресов – сравнивая таким образом время загрузки и размер документа для каждого из ресурсов.

devaka.ru

Какая должна быть скорость загрузки сайта?

От автора: всем привет. Как по вашему, какая должна быть скорость загрузки сайта, чтобы поисковые системы не понижали его ранг в выдаче? Давайте порассуждаем на эту тему.


Скорость загрузки

Упасть можно, подняться – едва ли

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

Почему так? Достаточно логичным является утверждение, что у поисковой системы есть какая-то шкала, по которой она может оценить скорость загрузки и определить, хорошая она или плохая. Соответственно, если реакция у сайта очень быстрая, то он получает преимущество над медленным проектом, но почти не получает преимущества над средним. Потому что в данном случае разница между “хорошо” и “средне” может быть ничтожной.

Скорость и процент отказов

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


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

Это на самом деле очень печально, потому что в таком случае неважно, насколько крут ваш контент – многие просто не дождутся его отображения и закроют сайт. Чтобы такого не происходило, нужно придерживаться хотя бы базовых советов по оптимизации скорости. Давайте мы их рассмотрим.

Насколько быстрым должен быть ваш ресурс?

Я сразу отвечу вам на вопрос, каким должно быть время загрузки страниц. Оно должна быть хотя бы на среднем уровне. Это где-то 60-80 баллов по Google Insights. Этот сервис, хотя и является самым популярным, все же дает поверхностную картину. Если перевести в секунды, то это примерно 2-5 секунд.

Анализ скорости загрузки сайта я рекомендую проводить зарубежным сервисом. В частности, pingdom. Вот я проанализировал один сайт в нем:

Скорость загрузки

Тут нас особенно должны интересовать 4 показателя. Во-первых, это load time или время загрузки страницы. Естественно, чем оно меньше, тем лучше. В нашем случае результат 2.59 секунды, что быстрее 61% проверенных сайтов. Какой можно сделать вывод? Прыть сайта находится на оптимальном уровне и в целом в улучшении не нуждается.

Ниже вы можете также видеть показатели page size (размер страницы) и requests (кол-во запросов, необходимых для формирования). На количество запросов нужно обратить особое внимание, потому что чем их больше, тем дольше загружается страничка.

Что ж, по скорости этот подопытный показал средний результат. Я бы даже сказал, что средне-высокий. Это означает, что при желании вы можете что-то еще оптимизировать, но острой нужды в этом нет, потому что и так все нормально.

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

Как улучшить скоростные показатели?

Допустим, вы не программист и не верстальщик, но даже вы должны знать, как улучшать быстроту web-сайтов. Хотя бы базовые принципы. Первый и самый очевидный – обновляться. Может быть вас удивит, но свежие версии плагинов и самого движка позитивно сказываются не только на безопасности, но и на скорости, хоть это улучшение и незначительно.

Что еще вы можете делать без посторонней помощи, так это сжимать изображения. Например, через онлайн-сервис или программу вроде фотошопа, где есть функция “Сохранить для Web”. Уже это простое действие (сжатие картинок), способно уменьшить вес страницы на 100-300 килобайт, потому что основную часть веса занимают именно изображения.

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

Скорость загрузки

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

У него установлен очень легкий шаблон. Для wordpress есть много шаблонов. Одни работают прекрасно, а в других подключается 23 библиотеки, 15 шрифтов и еще много чего. А еще по 40 картинок на страницу. Но в этом случае поставлена крайне простая тема с минимальным функционалом. Вторая причина, по которой у сайта отличная скорость – всего 4 установленных плагина.

Интересно, что никаких специальных работ по повышению скорости не проводилось. Получается, что при желании ее можно улучшить еще больше!

Как видите, за счет одного шаблона и ограничения установленных плагинов зачастую можно очень хорошо улучшить скорость. Хотя в случае с плагинами большее значение имеет не их количество, а реальные ресурсы, которую нужны расширению. Например, есть большие тяжелые плагины. 1 такой может забирать больше ресурсов, чем 5-10 небольших.

Что ж, пожалуй это основное, что может сделать новичок для улучшения скорости. Еще вы можете поставить на wordpress одну из систем кэширования (например, Hyper Cache или Super Cache) после чего настроить ее. В интернете достаточно инструкций по настройке таких известных плагинов.

Что делать?

Основная идея, которую я хотел донести до вас сегодня, заключается в том, что если у вас хотя бы средняя скорость загрузки (2-4 секунды), то нет нужды пытаться ее улучшить, потому что на продвижение сайта это никак не повлияет.

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

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

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

Поэтому выбирайте сами, что вам нужно: базовая или продвинутая оптимизация, потом берите наши материалы и изучайте. Ну а самые простые рекомендации я дал в этой статье. Прощаюсь с вами и желаю скорости!

Скорость загрузки

webformyself.com

Что влияет на скорость загрузки сайта

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

Плагин WP Super Cache

Плагин Hyper Cache

Оптимизация базы данных

Скажу сразу, что мой блог seoslim.ru далеко от идеального и не претендует на звание «Мега быстрая загрузка», но до смены дизайна на новый было намного хуже, так как верстальщик постарался на славу и убрал много не нужных плагинов, а также по шаманил с исходным кодом страниц.

Еще стоит добавить, что на скорость влияет и хостинг-провайдер, который вы используете. Он отвечает не только за доступность сайта в любое время дня и ночи, но и за его пропускную способность, правда очень многое будет зависеть от тарифного плана и предоставляемых им услуг.

Посмотреть как изменилась скорость блога после того, как я перешел со старого хостинга на новый «Макхост» вы сможете из статьи «Почему я выбрал хостинг McHost».

А ближайшее будущее я планирую перейти с виртуального хостинга (когда много сайтов расположены на одном и том же сервере) на VPS виртуальный выделенный сервер, вот тогда мой блог точно будет летать. Главное не пропустите это событие! :)

Онлайн сервисы для проверки загрузки страниц

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

PageSpeed Insights. С помощь этого продукта от поисковой системы Google вы сможете не только определить с какой скоростью загружаются страницы (шкала от 0 до 100), но и понять, удобен ли ваш сайт для пользователей смартфонов.

Сервис PageSpeed Insights

Все что нужно это пройти специальный тест и посмотреть перечень тех ошибок и рекомендаций по их устранению.

PR-CY. Популярный сервис в Рунете, который имеет в своем арсенале много инструментов для вебмастера. С помощью массовой проверки скорости сайта вы получите возможность не только узнать, время загрузки проекта, его среднюю скорость, но и сравнить одновременно до 10 URL адресов.

Проверка сайтов в PR-CY

Удобно сравнивать, как загружаются другие проекты, например из ТОП-10 выдачи, с которой собираетесь конкурировать.

WebWait. Еще один сервис для тестирования скорости сайта. Здесь, как и в предыдущем можно проверить одновременно несколько проектов, только данные по загрузкам берутся не за одну проверку, а за пять перезагрузок и высчитывается их среднее арифметическое.

WebWait

Раньше я отдавал предпочтение этому сервису, так как считал его данные самыми достоверными.

PingDom Tools. Популярный ресурс для анализа времени загрузки страниц и нахождения слабых мест. Также может тестировать DNS и сетевое подключение к серверу.

Анализ PingDom Tools

После проверки под статистикой будет сводная таблица, из которой наглядно определите, что именно на сайте замедляет его работу (файлы, скрипты, картинки и др.).

Load Impact. Современный сервис, который протестирует вас сайт на стойкость к тысячным посещениям пользователей.

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

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

Load Impact

Рекомендую проверить сайт таким способов, кто знает вдруг вы завтра глюкнет Яндекс и к вам на проект хлынет 10000 армия пользователей. :)

SiteSpeed. Простой сервис для определения доступности и скорости загрузки содержимого веб-ресурса из разных точек мира одновременно. Минимум настроек и непонятного интерфейса.

Мониторинг в SiteSpeed

Достаточно ввести в специальную строку анализируемый URL адрес и дождаться пока соберется важная информация.

Web Page Test. Этот сервис подойдет опытным вебмастерам. Имеет расширенный ассортимент сканируемых параметров: статистика по каждому элементу страницы, как отвечает сервер на каждый из полученных запросов, количество потоков по всем загрузкам, определение места откуда поступил запрос и другие.

Web Page Test

Не думаю что такая детальная статистика будет полезна большей части блоггеров и сайтостроителей. Мы же не собираемся каждый байт подсчитывать? :)

Web Tool Hub. Еще один сервис для измерения скорости работоспособности сайтов. Если поставить галочку «Show advanced information», то будут показаны дополнительные сведения по сайту: размер изображения, CSS и JavaScript файлов.

Web Tool Hub

Меня смутило здесь обилие рекламы и английский язык, хотя данные собираются быстро.

Gomez Networks. Этот сервис предоставляет внушительных размеров отчеты по тестируемым сайтам. Время загрузки страниц, DNS, IP-адрес, время соединения, Secure Sockets Layer, размер содержимого всех элементов.

Gomez Networks

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

PageScoring. Усовершенствованный сервис тестирования скорости веб-ресурсов. Разработчики убрали все лишнее, оставив только одну строку для ввода адреса домена.

PageScoring

В отчете кроме общего времени загрузки страниц будет подробно расписано, почему получилась такая цифра, сколько времени ушло на поиск домена, соединение с сервером и загрузку.

Monitis Tools. Мощный сервис, одним из инструментов которого является проверка работоспособности сайта. Благодаря таблице вы сможете понять, какие из элементов площадки загружаются дольше всего.

Monitis Tools

Главной фишкой monitis.com является то, что данные по скорости одновременно собираются из разных уголков планеты: США, Европы и Азии.

Gt Metrix. Если вы хотите точно узнать истинную причину слабой производительности сайта, то этот сервис решит такую проблему.

Metrix берет данные исходя из Google Page Speed и Yahoo, а на выходе предоставляет информацию по решению найденных недочетов.

Gt Metrix

Присутствует возможность проверить скорость загрузки сайта из разных мест земного шара.

WhichLoadFaster. Самый простой сервис для сравнения и проверки загрузки страниц сайта. Имеет два активных окна, в которые надо ввести доменные имена площадок для сравнительного анализа.

WhichLoadFaster

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

CloudMonitor. Еще один сервис для анализа сайтов, которой имеет в наличии инструмент для определения скорости загрузки страниц из разных стран: Италии, Германии, Швеции и других.

CloudMonitor

В таблице отчетов предоставлены, как временные данные по сайту, так и графические.

Web Page Analyzer. Один из инструментов огромного сервиса по оптимизации веб-сайтов. Все что нужно это ввести URL адрес сайта в специальную строку и получаете подробный отчет по содержимому проверяемой страницы и времени загрузки ее элементов.

Проверка скорости сайта в Web Page Analyzer

Не понравилось только то, что на сбор всех данных приходится тратить много времени, возможно в то время пока я делал тест у них были проблемы с сервером, однако факт остается фактом. :)

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

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

seoslim.ru

Я думаю ни для кого не секрет, что скорость загрузки страницы влияет на множество факторов. Если кто-то не в курсе, то вкратце скажу следующее, что скорость загрузки влияет не только на то, дождется ли посетитель, когда загрузится Ваш сайт, но и на SEO оптимизацию. Ведь на сегодняшний день уже многие поисковые системы при ранжировании сайтов, начали учитывать скорость загрузки страницы. Поэтому чем быстрее будет грузиться Ваш сайт, тем больше посетителей Вы можете получить с поисковых систем, а, следовательно, и больше денег на этом заработать.

Поэтому в этой статья я решил собрать топ-10 советов о том, как же можно увеличить скорость загрузки веб-странички и сайта в целом. Статья не претендует на гениальность и рассчитана на новичков.

Итак, поехали:

1. Уменьшите количество HTTP-запросов

80% загрузки страницы ориентировано на загрузку компонентов страницы: скриптов, фотографий, файлов CSS, flash. Спецификация HTTP/1.1 советует, чтобы браузеры параллельно загружали не более 2-х компонентов веб-страницы с одного хоста. Уменьшив количество этих компонентов мы уменьшаем количество HTTP-запросов к серверу и как результат увеличиваем скорость загрузки страницы.

Но как уменьшить количество запросов к серверу не затрагивая внешний вид страницы?

На самом деле есть несколько способ.

  • Использование CSS-спрайтов. CSS-спрайт – это комбинированное изображение, которое содержит в себе несколько маленьких изображений, которые в нужный момент для нужного элемента страницы вырезаются используя свойства: background-image и background-position.
  • Использование Inline-картинок. Inline-картинки используют URL-схему data: для встраивания картинки в саму страницу. Это, однако, увеличит размер HTML-документа. Встраивая inline-картинки в ваши таблицы стилей вы добьетесь уменьшения запросов к серверу, а размер HTML останется прежним.
  • Объединение нескольких файлов в один. Если у Вас на страничке подключается больше одного css- или js-файла, то Вы можете объединить их в один. Это очень простой, но действенный способ уменьшения количества http-запросов на сервер. О том, как это делать на лету я писал в своей заметке здесь «Разгони свой сайт. Статическое сжатие css- и js- файлов на лету»

2. Помещайте CSS файлы в начале страницы

Помещая подключение к css файлам в хедере страницы мы получаем постепенный рендеринг страницы, т.е. страница будет загружаться постепенно — сначала заголовок, потом лого наверху, навигация и т.д. – а это в свою очередь служит отличным индикатором загрузки страницы для пользователя и улучшает общее впечатление от сайта.

Если размещать CSS файлы внизу страницы, то это не позволяет многим браузерам рендерить страницу постепенно. Это объясняется тем, что браузер «не хочет» перерисовывать элементы, у которых после загрузки страницы может измениться стиль. Так что все свои CSS файлы всегда подключайте в верхней части страницы в секции HEAD.

3. Помещайте javascript в конец страницы

Помещая javascript-файлы вниз страницы мы позволяем браузеру загрузить страницу с контентом в первую очередь, а уже потом начать загрузку javascript-файлов. Если же Ваш сайт идет в ногу со временем и содержит все возможные интерактивные «примочки», то этих javascript-файлов может быть несколько и весить они могут несколько сотен килобайт, поэтому перед загрузкой страницы заставлять пользователя ждать пока загрузятся все Ваши javascipt-файлы губительно.

Кроме того, внешние .js-файлы блокируют параллельную загрузку. Спецификация HTTP/1.1 советует, чтобы браузеры параллельно загружали не более 2-х компонентов веб-страницы с одного хоста. Таким образом, если картинки для вашего сайта располагаются на разных хостах, вы получите более 2-х параллельных загрузок. А когда загружается скрипт, браузер не будет начинать никаких других загрузок, даже с других хостов.

4. Минимизируйте css и javascript

Минимизация файла — это удаление из кода всех несущественных символов с целью уменьшения объема файла и ускорения его загрузки. В минимизированном файле удаляются все комментарии и незначащие пробелы, переносы строк, символы табуляции. Здесь все просто. Чем меньше объем файла, тем меньше времени понадобится браузеру на его загрузку. А минимизировать Ваш код помогут вот эти 24 онлайн-сервиса для сжатия и оптимизации CSS кода
5. Используйте поддомены для параллельного скачивания

Как я уже говорил Выше, согласно спецификации HTTP/1.1 на браузеры накладываются ограничения на количество одновременно загружаемых компонентов сайта, а именно не более 2-х компонентов с одного хоста. Поэтому если на Вашем сайте много графики, то ее лучше вынести на отдельный поддомен или поддомены. Для Вас это будет один и тот же сервер, а для браузера – разные. Чем больше поддоменов Вы создадите, тем больше файлов браузер сможет одновременно загрузить и тем быстрее загрузится вся страница сайта. Вам остается лишь изменить адрес картинок на новый. Очень простой, но действенный способ.

6. Используйте кэш браузера

Кеширование становится крайне важным для современных веб-сайтов, которые используют обширное подключение JavaScript и CSS. Дело в том, что когда посетитель зашел на Ваш сайт в первый раз, то браузер выполнит загрузку всех javascript и css-файлов, также загрузит всю графику и флэш, однако правильно выставив HTTP-заголовок Expires, вы сделаете компоненты страницы кешируемыми. Таким образом, когда посетитель зайдет на Ваш сайт снова или перейдет на следующую страницу Вашего сайта, в кэше его браузера уже будут находится некоторые нужные файлы и браузеру не потребуется загружать их снова. Отсюда и выигрыш в скорости загрузки сайта.

Поэтому выставляйте HTTP-заголовок Expires везде, где только это возможно, на несколько дней или даже месяцев вперед. Для того, чтобы веб-сервер Apache отдавал соответствующие рекомендациям HTTP-заголовки Expires, необходимо добавить в файл .htaccess, находящийся в корневой папке сайта, следующие строки:

<IfModule mod_expires.c>  Header append Cache-Control "public"  FileETag MTime Size  ExpiresActive On  ExpiresDefault "access plus 0 minutes"  ExpiresByType image/ico "access plus 1 years"  ExpiresByType text/css "access plus 1 years"  ExpiresByType text/javascript "access plus 1 years"  ExpiresByType image/gif "access plus 1 years"  ExpiresByType image/jpg "access plus 1 years"  ExpiresByType image/jpeg "access plus 1 years"  ExpiresByType image/bmp "access plus 1 years"  ExpiresByType image/png "access plus 1 years"  </IfModule> 

Данный фрагмент файла конфигурации Веб-сервера Apache проверяет наличие модуля mod_expires и, если модуль mod_expires доступен, включает отдачу HTTP-заголовков Expires, которые устанавливают срок хранения перечисленных выше объектов в кэше браузеров и прокси-серверов равный одному году с момента первой загрузки. Установив такой срок жизни кэша браузера, может возникнуть сложность с обновлением файлов. Поэтому если Вы изменили содержимое css или javascript-файла и хотите, чтобы эти изменения обновились в кэше браузера, то необходимо изменить название самого файла. Обычно в название файла добавляют его версию, например так: styles.v1.css

7. Используйте CDN для загрузки популярных JavaScript библиотек

Если на Вашем сайте используется популярный javascript фреймворк, например jQuery, то для его подключения лучше использовать CDN.

CDN (Content Delivery Network) — это множество веб-серверов, разнесенных географически для достижения максимальной скорости отдачи контента клиенту. Сервер, который непосредственно будет отдавать контент пользователю, выбирается на основании некоторых показателей. Например, выбирается сервер с наименьшим числом промежуточных хопов до него либо с наименьшим временем отклика. Кроме того браузер кэширует javascript-файлы, и если Вы посещали сайты на котором используется такой метод, то эта библиотека уже есть в кэше Вашего браузера, и он не будет загружать её снова.

Одним из таких CDN – является Google Libraries. Это CDN для популярных open-source JavaScript библиотек. Загрузка популярных javascript фреймверков с Google Libraries позволяет увеличить скорость загрузки страницы и снизит траффик на ваш сервер.

О том как загружать jQuery с репозитория Google я писал вот в этой заметке «Увеличиваем скорость загрузки страницы загружая jQuery с репозитория Google».

8. Оптимизируйте ваши изображения

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

  • GIF – идеально подходят для изображений с несколькими цветами, например логотип.
  • JPEG – отлично подходят для детализированых изображений с большим количеством цветов, такие как фотографии.
  • PNG – ваш выбор, когда вам нужно высококачественное изображение с прозрачностью.

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

Вот несколько онлайн сервисов для оптимизации изображений:

  • www.punypng.com
  • Smush.it
  • www.jpegmini.com

9. Не масштабируйте изображения

Не изменяйте размер изображения при помощи атрибутов width и height тега , либо при помощи CSS. Это тоже негативно влияет на скорость загрузки страницы. Если у Вас есть изображение размером 500x500px, а вставить на сайт Вы хотите изображение с размером 100x100px, то лучше изменить размер оригинальной картинки при помощи графического редактора Photoshop, или любого другого. Чем меньший вес картинки, тем меньше времени потребуется для её загрузки.

10. Используйте Gzip- сжатие

Как показали проведенные исследования, gzip-сжатие текстового файла «на лету» в 95–98% случаев позволяет сократить время на передачу файла браузеру. Если хранить архивированные копии файлов на сервере (в памяти proxy-сервера или просто на диске), то соединение в общем случае удается освободить в 3-4 раза быстрее.

Начиная с версии протокола HTTP/1.1, веб-клиенты указывают, какие типы сжатия они поддерживают, устанавливая заголовок Accept-Encoding в HTTP-запросе.

Accept-Encoding: gzip, deflate

Если веб-сервер видит такой заголовок в запросе, он может применить сжатие ответа одним из методов, перечисленных клиентом. При выдаче ответа посредством заголовка Content-Encoding сервер уведомляет клиента о том, каким методом сжимался ответ.

Content-Encoding: gzip

Переданные таким образом данные меньше первоначальных примерно в 5 раз, и это существенно ускоряет их доставку. Однако здесь есть один недостаток: увеличивается нагрузка на веб-сервер. Но вопрос с сервером всегда можно решить. Так что не будем обращать на это внимание.

Для того, чтобы включить GZIP-сжатие на своем сайте, необходимо в файле .htaccess прописать следующие строки кода:

<IfModule mod_deflate.c>  AddOutputFilterByType DEFLATE text/html  AddOutputFilterByType DEFLATE application/javascript  AddOutputFilterByType DEFLATE text/javascript  AddOutputFilterByType DEFLATE text/css  <IfModule mod_setenvif.c>  BrowserMatch ^Mozilla/4 gzip-only-text/html  BrowserMatch ^Mozilla/4.0[678] no-gzip  BrowserMatch bMSIE !no-gzip !gzip-only-text/html  </IfModule>   </IfModule> 

Если данный способ сработал, то отлично, если нет, то можно попробовать вот такой вот код:

<IfModule mod_deflate.c>  AddOutputFilterByType DEFLATE text/html text/plain   text/xml application/xml application/xhtml+xml   text/javascript text/css application/x-javascript  BrowserMatch ^Mozilla/4 gzip-only-text/html  BrowserMatch ^Mozilla/4.0[678] no-gzip  BrowserMatch bMSIE !no-gzip !gzip-only-text/html  <ifmodule mod_gzip.c>  mod_gzip_on Yes  mod_gzip_item_include file .js$  mod_gzip_item_include file .css$   </ifmodule>   </IfModule> 

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

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

Если что-то упустил или у Вас есть, что добавить – пишите свое мнение в комментариях ниже к этому посту. Спасибо за внимание!

habr.com

Google PageSpeed Insights — проверка скорости загрузки страницы сайта

Google PageSpeed Insights — это сервис для анализа скорости загрузки страницы посредство внутренних инструментов Google. Показатель анализа довольно точный и многие оптимизаторы обращаются именно к этому сервису в первую очередь.

Для анализа сайта перейдите по ссылке — https://developers.google.com/speed/pagespeed/insights/

Анализ скорости загрузки страницы показывается на 2 типах платформ — для мобильных и для компьютеров. Как правило показатель на мобильный всегда несколько ниже. Сложно идеально оптимизировать сайт под мобильные устройства, чтобы во всем угодить поисковой системе.

Google PageSpeed очень полезен тем, что помимо собственно анализа в нем приводятся рекомендации по увеличению скорости загрузки сайта.

Рекомендации обычно у всех стандартные:

  • Сократите время ответа сервера — если хостинг у вас слабоват, стоит задуматься о переезде на более мощный.

  • Удалите код JavaScript и CSS, блокирующий отображение верхней части страницы

  • Используйте кеш браузера

  • Сократите CSS

  • Оптимизируйте изображения — это обычно сильно повышает показатель по PageSpeed Insights

  • Сократите JavaScript

  • Включите сжатие

Скорость загрузки сайта - Google PageSpeed Insights

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

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

Помимо сервиса от Google для анализа скорости загрузки страниц, есть еще некоторые сервисы, но они уже скорее на любителя. Часть из них являются производной от первого и работают на основе его api.

Сервисы для анализа скорости загрузки сайта

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

  • GTmetrix
  • WhichLoadFaster
  • Pingdom Tools
  • Web Page Performance Test
  • Monitis Tools
  • SiteSpeed.me
  • Load Impact
  • WebPage Analyzer

Каждый сервис по своему интересен, и показывают они различных показатели. Большинство показывают именно сколько загрузки страницы в секундах и размер документа в килобайтах. Только сервисы PageSpeed Insights и GTMetrix показывают усредненное процентное соотношение, что очень удобно.

Как улучшить скорость загрузки страниц сайта

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

Оптимизация изображений

Проверьте, а не весят ли картинки сайта на слайдере главной страницы или в других блоках по несколько мегабайт — и такое бывает!

Я на практике сталкивался с таким — разработчики или владельцы сайта в последующем, загружали на сайт картинки прямо с фотоаппарата и представляете сколько они весят?!

Если Вам нужно пакетно сжать много изображений — для этого есть множество различных сервисов или утилит. Мне на практике чаще всего надо сжать несколько фото и я это делаю просто в фотошопе.

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

Также обратите внимание на разрешение изображения. Если фото напрямую с фотоаппарата, то этот показатель скорее всего 300 dpi и можно смело его уменьшать до 72 dpi — этого более чем достаточно для сайта.

В фотошопе я сохраняю картинку в режиме «Сохранить для Web» — это также плюс оптимизации изображения.

Сокращение время ответа сервера

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

Даже если Вы смотрите в сторону смены хостинга, выбирайте тот, что хотя бы работает на SSD дисках — это уже большой плюс к скорости будет. Я сначала для клиента, а затем и сам перебрался на fornex.com

Для больших проектов вроде агрегатора доставки еды или городского портала лучше конечно использовать выделенный сервер т.к. нагрузка на сайт может быть внушительной и нужны мощности.

Если смена хостинга для Вас пока что не вариант, посмотрите в сторону оптимизации базы данных. Часто популярные движки делают и оставляют в базе много мусора, вроде временных сохранений или ревизий статей. Это все так или иначе тормозит взаимодействие между сервером и сайтом.

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

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

Для большинства популярных CMS есть различные плагины позволяющие кэшировать страницы сайта и тем самым ускорять загрузки видимой части контента.

Если Ваш сайт сделан на wordpress, то наилучшим решением будет плагин WP Fastest Cache, но будьте осторожны — плагин может конфликтовать с некоторыми скриптами. Например, недавно начал сильно тупить слайдер на сайте клиента, оказалось что именно данный плагин перестарался с кэшированием. Но в целом такие случаи единицы и можете попробовать на своем проекте.

На этом пожалуй все. Быстрых сайтов всем моим читателям!

alexbrush.com

Какой должна быть скорость?

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

  • 0,1-0,5 секунды или 100-500 мс — мгновенно, пользователь даже не заметить никаких задержек. Другое дело, что такая скорость загрузки невозможна для современных сайтов, переполненных различными изображениями, скриптами и стилями;
  • 1 — 3 секунды — оптимальный вариант, пользователь заметит небольшую паузу, но это не вызовет раздражения и он продолжит работу на сайте. К такому результату нужно стремиться;
  • 5-10 секунд и больше — очень плохо, пользователю придется ждать и он может попросту уйти, или, по крайней мере у него останется неприятное впечатление о сайте.

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

Проверка скорости загрузки сайта

1. Google Chrome

Самый первый инструмент, который стоит использовать — это ваш браузер. Тут вы можете детально посмотреть с какой скоростью загружается страница у вас и какие элементы создают большую нагрузку. Откройте ваш сайт, например, главную страницу, и нажмите сочетание клавиш Ctrl+Shift+J, затем перейдите на вкладку «Perfomance»:

Скорость загрузки

 

Браузер предложит вам нажать кнопку F5, чтобы обновить страницу и записать сеанс, после этого отобразиться скорость загрузки:

Скорость загрузки

 

Внизу страницы мы видим результат, она загружена за 8,1 секунды, это плохо, но первые элементы на странице появились уже в 2 секунды, а значит пользователи не почувствовали много неудобств. Тут вы можете найти множество полезной информации, какие материалы грузились долго можно посмотреть развернув надпись «Network»:

 

Например, у меня время загрузки для различных стилей составляет около 400 мс, это много. Сворачиваем «Network» и смотрим «Frames». Синий индикатор показывает, когда завершилась загрузка основных компонентов и пользователь увидел первые элементы на странице (DOM Loaded):

Скорость загрузкиЗагрузка элементов отображается на графике «Main», синим — HTML код, желтым — скрипты, зеленым — медиа данные, розовым — стили.

 

Скорость загрузкиЗдесь вы можете узнать множество полезной информации о загрузке страницы сайта, но тут есть несколько минусов. Во-первых, слишком сложный интерфейс, во-вторых, это актуально только для вашего интернета, для других компьютеров все может быть по-другому. Поэтому нужно еще использовать онлайн сервисы.

2. Pingdom tools

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

Скорость загрузки

Страница загрузилась за 7.22, почти тот же результат, что и в Google Chrome и при этом со страницы было отправлено 115 запросов различных файлов и общий вес страницы 1,9 мегабайт.

Скорость загрузки

Еще ниже находится полная диаграмма скорости загрузки сайта. По ней вы тоже можете определить какие ресурсы грузятся долго.

Скорость загрузки

Можно отсортировать по «Load Time» в поле «Sort by»:

Скорость загрузки

Дальше, при анализе стоит обратить внимание на шкалу загрузки каждого файла. Обозначения:

  • Розовый — время получения IP по DNS;
  • Пурпурный — время установки соединения SSL;
  • Синий — ожидание подключения к серверу;
  • Оранжевый — время передачи данных;
  • Желтый — время ожидания ответа сервера;
  • Зеленый — время, потраченное на загрузку данных.

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

Скорость загрузки

На время получения DNS и рукопожатие SSL мы повлиять не можем, и оно выполняется только один раз. Далее подключение к серверу, зависит от нагрузки на сеть, можно оптимизировать только одним путем — использовать https и новый протокол http2, тогда соединение будет выполняться только раз, а все данные будут передаваться в одном потоке.

Затем идет время ожидания ответа сервера. Этот параметр зависит от многих факторов — насколько долго запрос обрабатывается веб-сервером, php, загруженности сети и так далее. Время ожидание в 100 мс — это еще норма, но когда оно составляет 300 мс для статических файлов — это уже проблема. Допустим, на странице загружается 20 картинок, 20*300 — это уже шесть секунд, а возьмите статью, в которой картинок еще больше — 30, 50. Вот вам и время загрузки.

Время получения данных зависит от размера файлов, можно оптимизировать включением сжатия на лету, но это увеличит время ожидания Wait Time, или же сжав все заранее с помощью специальных утилит.

3. Host-tracker

Минус Pingdom в том, что там можно проверить скорость сайта только на заграничных ресурсах. Если нас интересует Россия, то лучшие использовать host-tracker:

Скорость загрузки

Но здесь совой недостаток, загружается только html код страницы и все. Никакие изображения и вообще структура DOM загружены не будут. Например, в Москве, html код страницы загружается за 79 мс, а в Австралии за 2,5 секунды. Например, в Pingdom этот же показатель был примерно 800 мс. Тут не выполняется проверка скорости страниц сайта. Если вы хотите проверить скорость загрузки отдельного ресурса на странице, то вам нужно будет набирать его url отдельно.

Скорость загрузки

4. Проверка скорости в терминале

Проверка скорости сайта в терминале Linux позволит получить больше всего необходимой информации, чтобы принять правильное решение по оптимизации. Мы выяснили, что самую большую проблему после проблемных файлов представляет время ожидания ответа веб сервера. Теперь нужно понять откуда оно берется. Утилита curl позволяет узнать скорость загрузки сайта, замерять время до получения первого байта, по сути, это и есть wait time + connect + dns + ssl + read. Команда выглядит вот так:

curl "https://losst.ru" -s -o /dev/null -w "response_code: %{http_code}n
dns_time: %{time_namelookup}n
connect_time: %{time_connect}n
AppCon time:t%{time_appconnect}n
pretransfer_time: %{time_pretransfer}n
starttransfer_time: %{time_starttransfer}n
total_time: %{time_total}"

Скорость загрузки

Значение каждой переменной:

  • time_namelookup — время преобразования домена в IP адрес;
  • time_connect — время установки соединения по TCP;
  • time_appconnect — время, затраченное на соединение SSL;
  • time_pretransfer — время, затраченное на подготовку к передаче данных;
  • time_starttransfer — время получения первого байта от сервера;
  • time_total — общее время загрузки страницы, только html, без скриптов и изображений.

Фактически здесь выходит, что время ожидания веб-сервера меньше 100 мс. Время отправки данных можно принять за 0, тогда wait time от pingdom будет time_starttransfer —  time-pretransfer. Мы можем проверить другой ресурс, например, изображение:

Скорость загрузки

Здесь уже видим тот же wait time до 140 мс. Плохо, учитывая, что у серверов Google этот параметр до 5 мс. Дальнейший анализ нужно продолжить на вашем сервере. Мы посмотрим насколько быстро веб-сервер возвращает результат с помощью tcpdump. Дальнейшую инструкцию можно выполнить только на VPS/VDS, на хостингах у вас это не выйдет. Авторизуйтесь на вашем сервере по SSH и выполните там такую же команду:

$ curl «http://test.losst.ru/wp-content/uploads/2017/07/Snimok-ekrana-ot-2017-07-31-18-56-04-300×169.png» -s -o /dev/null -w «response_code: %{http_code}

dns_time: %{time_namelookup}n
connect_time: %{time_connect}n
AppCon time:t%{time_appconnect}n
pretransfer_time: %{time_pretransfer}n
starttransfer_time: %{time_starttransfer}n
total_time: %{time_total}»

 

 

Результат будет совсем другим, моему серверу понадобилось 63 миллисикунды на обработку этого запроса. Из чего можно сделать вывод, что все остальные задержки — проблема работы сети. Мы еще можем отследить как передаются пакеты и заголовки с помощью tcpdump, только нужно отключить SSL, иначе вы ничего там не разберете:

tcpdump -n -S -s 0 -vvvvv -A '(tcp dst port 80 or tcp src port 80) and (dst host ваш_ip or src host ваш_ip)'

Вы можете подробнее почитать как пользоваться tcpdump в отдельной статье. Фактически, этот фильтр означает, что нужно отображать все пакеты, полученные на порт 80 или отправленные с порта 80, при том, что они будут отправлены либо с вашего ip либо на ваш ip. Теперь в другом терминале выполните curl запрос к http версии сайта, в tcpdump вы увидите полный список пакетов и их содержимое:

Скорость загрузки

 

14:30:08.392309 IP (tos 0x0, ttl 54, id 61543, offset 0, flags [DF], proto TCP (6), length 129)
95.133.238.84.landmarks > 185.22.173.108.http: Flags [P.], cksum 0x9f58 (correct), seq 1691128117:1691128194, ack 3071477496, win 229, options [nop,nop,TS val 5005665 ecr 848099631], length 77
E....g@.6..._..T...l...Pd..5.........X.....
.Laa2../GET / HTTP/1.1
Host: test.losst.ru
User-Agent: curl/7.50.1
Accept: */*

14:30:08.392357 IP (tos 0x0, ttl 64, id 65431, offset 0, flags [DF], proto TCP (6), length 52)
185.22.173.108.http > 95.133.238.84.landmarks: Flags [.], cksum 0xb483 (incorrect -> 0x6fa7), seq 3071477496, ack 1691128194, win 227, options [nop,nop,TS val 848099696 ecr 5005665], length 0
E..4..@.@……l_..T.P……d…………..
2..p.Laa
14:30:08.402702 IP (tos 0x0, ttl 64, id 65432, offset 0, flags [DF], proto TCP (6), length 2948)
185.22.173.108.http > 95.133.238.84.landmarks: Flags [.], cksum 0xbfd3 (incorrect -> 0x2316), seq 3071477496:3071480392, ack 1691128194, win 227, options [nop,nop,TS val 848099707 ecr 5005665], length 2896
E…..@.@.{~…l_..T.P……d…………..
2..{.LaaHTTP/1.1 200 OK
Server: nginx/1.13.3
Date: Fri, 18 Aug 2017 11:30:08 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Expires: Fri, 18 Aug 2017 21:30:08 GMT
Pragma: public
Cache-Control: max-age=36000, public
X-Powered-By: W3 Total Cache/0.9.5.4

  • 14:30:08.392309 — отправлен запрос на страницу;
  • 14:30:08.402702 — получен ответ.

Время отображается в микросекундах, фактически, время ожидания веб сервера составило 10393 микросекунд или 10 миллисекунд. Теперь понятно, что вся проблема в сети и веб сервер работает почти так же идеально, как и у гугла. А вот что делать с сетью это уже совсем отдельная тема, которая выходит за рамки данной статьи.

Выводы

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

losst.ru


You May Also Like

About the Author: admind

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.