Как измерить реальную скорость загрузки страниц
Часто для оценки скорости загрузки страниц выбирают один из двух вариантов:
- Скорость загрузки всего контента на клиенте.
- Скорость генерации страницы на сервере.
Однако на практике (иногда) имеет смысл отвечать на такой вопрос:
Сколько времени проходит от момента нажатия на ссылку до момента полной загрузки страницы?
Т.е. реальное время ожидания пользователя. Чтобы не прибегать к сложным решениям, можно сделать следующее:
- Запомнить точное время на клиенте прямо перед кликом по ссылке.
- При полной загрузке следующей страницы отправить на сервер разницу.
Или текстом программирования:
// Сохраняем текущее время в sessionStorage
// Как только любая ссылка будет нажата, выполнение остановится
function check_speed() {
sessionStorage.now = Date.now();
setTimeout(check_speed, 25);
}
// Вешаем обработчик на полную загрузку страницы
window.onload = function() {
var now = Date.now();
if ( sessionStorage.now ) {
var loaded_in = now - parseInt(sessionStorage.now);
// отправляем значение loaded_in на сервер
// значение в миллисекундах
}
check_speed();
};
Значение loaded_in можно отправить на сервер либо в систему трекинга
Такой метод пропускает первые страницы сессий. Однако для общей оценки проблем со скоростью это не критично.
Этот текст был написан несколько лет назад. С тех пор упомянутые здесь инструменты и софт могли получить обновления. Пожалуйста, проверяйте их актуальность.

Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: