Определение простыми словами
WebPageTest — это «лаборатория» для замера скорости сайта. Сервис открывает страницу в реальном Chrome или Firefox в выбранной географии, на нужной скорости интернета, и фиксирует каждое сетевое событие. На выходе — waterfall с временами всех ресурсов, скриншоты по миллисекундам, метрики LCP, FID, CLS, TTFB и сводный отчёт.
Важное отличие от Lighthouse: WebPageTest даёт несколько прогонов, фильмостроку и работу с холодным/горячим кешем. Это превращает его в основной инструмент при глубоком разборе медленных страниц.
Сравнение
| Инструмент | Локации | Waterfall | Глубина | API |
|---|---|---|---|---|
| WebPageTest | 40+ городов | Полный по фреймам | Высокая | Есть |
| Lighthouse | Локально | Базовый | Средняя | CLI |
| PageSpeed Insights | Виртуально | Нет | Базовая | API |
| GTmetrix | ~7 регионов | Есть | Средняя | Платный |
Кейсы использования
- Сравнение TTFB и LCP с конкурентами из тех же локаций — берут одинаковые условия теста.
- Диагностика проблемы «медленно у некоторых пользователей»: запускают тесты из их регионов и смотрят waterfall.
- Регрессионный мониторинг: подключают WebPageTest API к CI и блокируют деплой, если метрики ухудшились на 10%+.
- Анализ third-party скриптов: график «Domain Breakdown» показывает, какие виджеты и аналитика крадут секунды.
- Негативный кейс: используют только публичную очередь без приватной локации — тесты ждут по 5–10 минут, метрики дрейфуют между прогонами.
- Негативный кейс: трактуют один прогон как истину — без 5–9 повторов и медианы метрики легко искажаются разовым лагом.
Технические детали
# Установка CLI и запуск теста
npm install -g webpagetest
webpagetest test https://example.com -k API_KEY
--location Moscow:Chrome.4G --runs 5 --first --video
# Получить результат по testId
webpagetest results 240511_AB_xyz -k API_KEY -j
# Запуск через REST API
curl 'https://www.webpagetest.org/runtest.php?
url=https://example.com&k=API_KEY&runs=5&f=json'
# Self-hosted инстанс через Docker
docker run -d -p 4000:80 webpagetest/server
docker run -d -e SERVER_URL=http://server:4000
-e LOCATION=local webpagetest/agent
🔥 Где это применяется
Частые вопросы
Бесплатен ли WebPageTest?
Публичный инстанс на webpagetest.org бесплатен с дневными лимитами. Для CI и регулярных прогонов берут платный план с API-ключом или поднимают self-hosted версию через Docker.
Чем WebPageTest лучше PageSpeed Insights?
WebPageTest даёт реальный браузер в выбранной локации, waterfall по каждому ресурсу, видеозапись загрузки и сравнение нескольких прогонов. PageSpeed Insights показывает только синтетический Lighthouse-отчёт и поле CrUX.
Можно ли поднять свой WebPageTest?
Да, есть официальный Docker-образ. Поднимают сервер и одного–двух агентов в нужной географии, получают полный контроль над локациями, профилями сети и хранением результатов.