Как измерить скорость загрузки сайта? — База знаний
Довольно часто наши клиенты спрашивают, как правильно измерить скорость загрузки сайта. Также многие измеряют скорость «на глаз» или по «по ощущениям»)
Мы же стараемся руководствоваться только цифрами и фактами. В данной статье будет описана правильная методика проверки скорости загрузки сайта.
TTFB / Статический контент
Первое, что мы, как специалисты должны знать, это что такое TTFB. Для нас это самый важный параметр, т.к. показывает, в основном, скорость ответа сервера.
TTFB — Аббревиатура Time To First Byte, это время, которое занимает время отправки запроса от клиента до ответа сервера хостинга. На данный показатель влияет отдаленность пользователя от сервера в меньшей степени и время обработки запроса сервера. Для интернет магазинов показатель TTfb 600-800 мс является предельно допустимым для быстрой работы сайта. Как правило, данный показатель должен составлять около 400-500мс для интернет магазинов и около 150-300 для блогов/форумов. Важно понимать, что каждый сайт может загружаться по разному из-за количества подключаемых модулей и количества запросов в базу данных.
Все что происходит дальше — это уже загрузка основного статического контента сайта (css стили, js, jpg картинки и т.д.), а также загрузка контента от внешних источников.
Крайне важно различать данные показатели и уметь их анализировать. Например, многие используют такой сервис, как Google PageSpeed insights. Большинство показателей данного сервиса указывает на ошибки разработки сайта с точки зрения медленной загрузки контента самого сайта, например картинок сайта и их прорисовки в момент, когда клиент заходит на сайт.
По нашей статистике более 80% случаев проблем с медленной загрузкой сайта приходятся именно на статический контент. В случае, если у Вашего сайта достаточный тяжелый сайт с большим количество контента на странице, обязательно необходимо использовать CDN и сжатие контента в настройках веб домена. А также необходимо оптимизировать изображения с помощью веб-разработчика.
Как определить скорость загрузки ttfb или статического контента?
Лучше всего использовать отладчик в браузере Chrome для этой задачи:
1) Откройте страницу Вашего сайта и нажмите правой кнопкой мыши на любую область сайта. Откроется окно
2) Выберите пункт «Инспектировать»
3) Внизу откроется окно с вкладками для анализа сайта
4) Выберите вкладку «Networks / Сеть» + выберите тип «Doc» для анализа загрузки именно TTFB, а не всего контента.
Это будет выглядеть примерно так:
В данном случае, при наведении на полосы загрузки справа от общего значений 243ms, Вы увидите такую картинку
На этой картинке Вы можете увидеть TTFB, а также другие параметры скорости загрузки.
Так в чем причина?
Как правило, проблемы бывают из-за объема статического контента (картинок, виджетов, видео). Что касается анализа статического контента, то при переходе на вкладку «Networks / Сеть», не выбирайте тип Doc. В этом случае, Вы сможете увидеть полную картину загрузки всего сайта и всех его элементов, в том числе, загрузки внешнего контента. Далее, необходимо анализировать сайт через Google PageSpeed и оптимизировать загрузку контента.
Измерьте скорость веб-сайта с помощью cURL из терминала Ubuntu
В следующей статье мы рассмотрим, как мы можем измерять время отклика сайта с терминала с помощью cURL. Это интересно знать, так как это может сильно повлиять на пользовательский опыт.
Независимо от того, являетесь ли вы веб-разработчиком или управляете сервером, вы будете знать, что скорость это то, что всегда должно быть готово. Важно, чтобы все работало правильно, чтобы пользователи не расстраивались, заходя на ваш сайт.
Далее мы увидим некоторые команды, чтобы иметь возможность измерить время отклика веб-сайта. С ними мы сможем проверить время в секундах в разных полях как http, так и https страниц. Мы будем делать все из командной строки Ubuntu с помощью cURL,
Индекс
- 1 Используйте cURL для измерения скорости загрузки
- 1.1 С веб-сайтов с HTTP
- 1.2 С сайтов с HTTPS
С веб-сайтов с HTTP
cURL имеет множество доступных опций, среди которых мы можем найти -w, что будет полезно для распечатать информацию на стандартный вывод после завершенной операции. Он также предлагает нам переменные, которые мы можем использовать для проверки различного времени отклика веб-сайта.
Чтобы достичь этого измерения, мы собираемся использовать некоторые из переменных, которые можно найти в официальная документация cURL. Они могут быть переданы в заданном формате как буквальная строка или внутри файла.
Переменные, которые мы будем использовать, будут следующими:
- time_namelookup → Время в секундах. Взят от начала до завершения разрешения имени.
- time_connect → Время в секундах. От запуска до завершения TCP-соединения с удаленным хостом или прокси.
- time_pretransfer → Время в секундах, которое потребовалось от начала до начала передачи файла. Сюда входят все команды перед передачей и согласования, относящиеся к задействованным протоколам.
- time_starttransfer → Время в секундах, которое потребовалось от начала до передачи первого байта
- time_total → Общее время в секундах, в течение которого длилась вся операция. Разрешается в миллисекундах.
к выполнить команду, которую мы собираемся смонтировать с предыдущими переменными, нам останется только открыть терминал (Ctrl + Alt + T) и написать:
curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com
Поскольку записывать его в терминал каждый раз, когда мы хотим его использовать, может стать немного неудобно, мы можем записать его в файл.
Внутри файла, которому я дам имя контроль-скорость-web.txt, вам необходимо вставить следующий код:
\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n
После сохранения и возврата в терминал мы можем используйте этот файл, набрав следующий синтаксис:
curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com
Приведенная выше команда будет работать на тихий режим благодаря -s, с -w распечатать информацию в стандартный вывод. Для перенаправить вывод на / dev / null давайте использовать -o.
С сайтов с HTTPS
Если нас интересует использование этого теста для сайтов HTTPS, мы можем выполнить команду в терминале (Ctrl + Alt + T):
curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://ubunlog.com
В этом формате используются дополнительные временные переменные в дополнение к указанным выше. А это:
- time_appconnect → Время в секундах, которое потребовалось с самого начала до завершения подключения SSL / SSH / etc к удаленному хосту.
- time_redirect → Время в секундах, которое заняло все шаги перенаправления до начала финальной транзакции
. Рассчитайте общее время выполнения для нескольких перенаправлений.
Как и в предыдущем случае, его также можно записать в файл. Как и в предыдущем случае, я буду вызов контроль-скорость-web.txt, а внутри вам нужно будет вставить:
\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n
Сохраняем файл и обратно в терминал, мы можем используйте его с синтаксисом:
curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com
Для получения дополнительной информации вы можете проконсультируйтесь с cUrl документация или страница руководства:
man curl
Кomo значения времени отклика изменятся из-за разных факторов, желательно провести различные тесты и установить среднюю скорость. Мы также увидим, что доступ к веб-сайту через HTTP обычно намного быстрее, чем через HTTPS.
Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.
Вы можете быть заинтересованы
Тестирование и мониторинг производительности веб-сайта
Вы можете протестировать с использованием различных скоростей соединения с бесплатной учетной записью GTmetrix!
Создать учетную запись
Варианты анализа: Тестирование в Ванкувере, Канада, с использованием Chrome (настольный компьютер) с нерегулируемым подключением. Изменить параметры
Последние новости
Просмотр изменений
Вам нужно экспортировать историю отчетов в электронную таблицу? Используйте виджет «История экспорта» для загрузки или создания… https://t.co/pjIKjOTSba
27 октября 2022 г.
Недавно мы добавили теги в GTmetrix 😃 Вы можете пометить свои отчеты GTmetrix, чтобы упростить выявление различных… https://t.co/egDHI1Mvrp
26 октября 2022 г.
📢 Новости выпуска GTmetrix — улучшенный виджет истории экспорта и новые тестовые серверы! Читайте дальше, чтобы узнать больше о наших новых… https://t.co/KBTZXzFCVp
24 октября 2022 г.
Используются ли на вашей странице файлы cookie для входа в систему, возрастных модальных окон или для хранения других пользовательских настроек? GTmetrix предлагает возможность… https://t.co/LCEMthGo7m
20 октября 2022 г.
988 673 543 проанализированных страниц
Присоединяйтесь к тысячам людей и компаний по всему миру, стремящихся сделать Интернет стабильно быстрым.
Хотите знать, почему ваша страница работает медленно?
Мы разобьем эффективность вашей страницы в сводном отчете.
Получите подробную оценку с помощью:
- Метрики и аудиты Lighthouse
- Web Vitals (LCP, TBT, CLS)
- Различные параметры анализа
- Водопад, история видео и отчетов
Что еще GTmetrix может сделать для вас?
Отслеживайте свою эффективность с течением времени
Мы будем тестировать вашу страницу по расписанию и следить за тем, как она работает.
Узнайте, почему мониторинг важен
Получайте уведомления, когда ваша страница работает медленно
Настройте оповещение и получайте уведомления, когда ваша страница неэффективна.
Мы отправим вам предупреждение, связанное с полным отчетом, чтобы вы могли знать, что
получилось.
Посмотрите, как ваша страница загружается на разных устройствах.
Протестируйте свою страницу на реальном устройстве Android или на более чем 30 различных вариантах симулированного устройства.
Анализируйте свою производительность с помощью iPhone, iPad, Samsung Galaxy/Note, Телефоны Google Nexus/Pixel и другие популярные устройства.
Мобильное тестирование доступно только с GTmetrix PRO.
Какова эффективность вашей страницы в мире?
Посмотрите, как работает ваша страница в 22 разных местах тестирования по всему миру, и убедитесь, что она быстро загружается для всех ваших посетителей по всему миру.
Премиум-места тестирования доступны только с GTmetrix PRO.
Посмотреть все наши испытательные центры по всему миру
Проанализируйте свой сайт прямо сейчас и убедитесь, насколько хорошо он работает!
Воспользуйтесь всеми функциями, которые может предложить GTmetrix, и сделайте свой сайт максимально быстрым!
Попробуйте БЕСПЛАТНО!
Необходимо использовать GTmetrix в профессиональных целях? Попробуйте GTmetrix PRO!
Тест производительности и оптимизации веб-сайта
Простая конфигурация 3 тестовых запуска из рекомендуемого местоположения и настроек браузера
Мобильный телефон 4G, Вирджиния, США Chrome на эмулированном Motorola G (4-го поколения), протестированном в Вирджинии, США, при соединении 4G со скоростью 9 Мбит/с и задержкой 170 мс. Рабочий стол Кабель Вирджиния, США Chrome Desktop протестирован в Даллесе, штат Вирджиния, США, на кабельном соединении 5 Мбит/с с задержкой 28 мс. Мобильный телефон 3G Mumbai, INChrome на эмуляторе Motorola G (4-го поколения), протестированном в Мумбаи, штат Индиана, на 3G-соединении со скоростью 1,6 Мбит/с и задержкой 300 мс. Настольный компьютер Кабель Торонто, CAEdge Настольный компьютер протестирован в Торонто, Калифорния, на кабельном соединении 5 Мбит/с с задержкой 28 мс. Desktop Cable Frankfurt, DEFirefox Desktop тестировался во Франкфурте, DE, на кабельном соединении 5 Мбит/с с задержкой 28 мс.
Включить повторный просмотр (Загружает страницу, закрывает браузер, а затем снова загружает страницу)
Запуск аудита Lighthouse (Выполняется в Chrome, эмулирует устройство Moto G4, по моделируемому быстрому соединению 3G)
Расширенная конфигурация Выбор из всех параметров браузера, местоположения и устройства
Место проведения испытаний Вирджиния — EC2Солт-Лейк-Сити, Юта — GCECКалифорния — EC2Торонто, Канада — EC2Сан-Паулу, Бразилия — EC2Ирландия — EC2Лондон, Великобритания — EC2Париж — EC2Амстердам, NL — GCEFФранкфурт, Германия — EC2Милан, Италия — EC2Стокгольм, Швеция — EC2Кейптаун, ЮАР — EC2Бахрейн — EC2Dubai, ОАЭ — AzureMumbai, Индия — EC2Bangkok, Таиланд — TencentSingapore — EC2Jakarta, Индонезия — GCEHong Kong, Китай — EC2Shanghai, Китай — TencentBeijing, Китай — TencentNingxia, Китай — EC2Taiwan — GCESeoul, Корея — EC2Tokyo, Япония — EC2Osaka, Япония — EC2Сидней, Австралия — EC2
Браузер ChromeChrome BetaChrome CanaryFirefoxFirefox NightlyFirefox ESRBraveEdge 0 ожидающих тестов
- Настройки теста
- Расширенный
- Хром
- Сценарий
- Блок
- СПОФ
- Пользовательский
- Связь
Кабель (5/1 Мбит/с, 28 мс RTT)DSL (1,5 Мбит/с/384 Кбит/с, 50 мс RTT)3G Медленно (400 Кбит/с, 400 мс RTT)Развивающиеся рынки 3G (400 Кбит/с, 400 мс RTT)3G (1,6 Мбит/с/768 Кбит/с, 300 мс RTT)3G Быстро (1,6 Мбит/с/768 Кбит/с, 150 мс RTT)4G (9Мбит/с, 170 мс RTT)LTE (12 Мбит/с, 70 мс RTT)Mobile Edge (240 Кбит/с/200 Кбит/с 840 мс RTT)2G (280 Кбит/с/256 Кбит/с 800 мс RTT)56K Dial-Up (49/30 Кбит/с 120 мс RTT)FIOS (20/ 5 Мбит/с 4 мс RTT) Собственное соединение (без формирования трафика) Пользовательский
BW Down Вес вверх Задержка Потеря пакетов Кбит/с Кбит/с мс % - Размеры настольного браузера
по умолчанию (1366×768)1024x7681280x7201280x10241366x7681440x
00x - 20x10801920x1200
- Количество тестов для запуска 123456789
- Повторить просмотр Первый просмотр и повторный просмотр Только первый просмотр
- Захват видео
- Этикетка
- Остановить тест при завершении документа
Как правило, тесты выполняются до тех пор, пока не прекратится вся активность. - Игнорировать ошибки SSL-сертификата
, например. Несоответствие имен, самозаверяющие сертификаты и т. д. - Захват трассировки сетевых пакетов (tcpdump)
- Сохранение тела ответа
Для текстовых ресурсов (HTML, CSS и т. д.) - Сохранить исходную строку агента пользователя
Не добавлять PTST в строку UA браузера - Строка пользовательского агента
(Пользовательская строка UA) - Добавить к строке UA
- Отключить поддержку изображений AVIF
Только браузеры Firefox и Chromium - Отключить поддержку изображений WEBP
Только браузеры Firefox и Chromium - Отключить поддержку изображений JPEG XL
Только браузеры Firefox и Chromium - Capture Full Size Video
Включает полноразмерные скриншоты в кинопленке - Минимальная продолжительность теста
Захват данных не менее. .. секунды - Пользовательские заголовки Добавляйте настраиваемые заголовки ко всем сетевым запросам, отправляемым из браузера. (введите или прочитайте из текстового файла)
- Внедрить скрипт JavaScript для запуска после начала загрузки документа (введите или прочитайте из текстового файла)
- Внедрить скрипт во все фреймы и запустить перед запуском любых скриптов страниц (только для Chrome)
Расширенные настройки Chrome:
- Отчет Capture Lighthouse (используется соединение «3G Fast» независимо от настроек теста)
- Эмулировать мобильный браузер Motorola G (поколение 4)Nexus 5Nexus 5XGoogle PixelGoogle Pixel XLGoogle Pixel 2Google Pixel 2 XLMotorola G (поколение 1)Samsung Galaxy S5Samsung Galaxy S7Samsung Galaxy S8/S8+/Note 8Motorola EAndroid OneNexus 7Nexus 7 — ПейзажiPhone 5CiPhone 6/7/8iPhone 6+/7 +/8+iPhone XiPadiPad Mini
- Хронология Capture Dev Tools
- Включить v8 Sampling Profiler (гораздо большие трассировки)
- Захват статистики вызовов во время выполнения V8
- Захват трассировки Chrome (about://tracing)
- Категории трассировки
(если трассировка включена) - Захват сетевого журнала
- Включить сокращение данных
Chrome 34+ на Android - Используйте средства разработки Chrome для формирования трафика (не рекомендуется)
- Host Resolver Rules
т. е. MAP * 1.2.3.4 - Командная строка
Пользовательские опции
Введите сценарий (или прочитать его из текстового файла)
- Сценарий содержит конфиденциальные данные
Сценарий будет удален, а заголовки HTTP не будут доступны в результатах - Отбросить все заголовки HTTP
Блокировать запросы, содержащие (подстроки URL). .. Список через пробел (введите или прочитайте из текстового файла)
Блокировать домены (полные имена хостов)… Список доменов, разделенных пробелами (введите или прочитайте из текстового файла)
Имитация отказа указанных доменов. Это делается путем перенаправления всех запросов на домены на blackhole.webpagetest.org, которые молча отбрасывают все запросы.
Отказ хостов (по одному хосту в строке).