=> Главная База Знаний Оптимизация сайта Измеряем эффективную ширину канала пользователей


Измеряем эффективную ширину канала пользователей

Измеряем эффективную ширину канала пользователей

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

Прежде чем давать браузеру любые ссылки на внешние объекты (<img src="/...">, <link rel="stylesheet" href="/...">, <script src="/..."> и т. д.), мы можем записать текущее время. После загрузки всей страницы можно будет его вычесть и получить, таким образом, полное время загрузки страницы (за исключением получения HTML-файла и задержек, связанных с первым соединением с сервером). Полученное время можно затем добавить к вызову любого URL (например, картинки), расположенного на вашем сервере.

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

<html>

<head>

<title>...</title>

<script type="text/javascript">

<!--

var began_loading = new Date().getTime();

window.onload = function(){

new Image().src = '/timer.gif?u=' + self.location + '&t=' +

((new Date().getTime() - began_loading) / 1000);

};

// -->

</script>

<!--

Здесь будут размещаться ссылки на любые внешние JS- или CSS-файлы,

главное, чтобы они шли ниже верхнего блока

// -->

</head>

<body>

<!--

Здесь идет обычное содержание страницы

// -->

</body>

</html>

Эта конструкция произведет примерно следующую запись в лог-файл:

127.0.0.1 - - [28/Oct/2006:13:47:45 -0700]

"GET /timer.gif?u=http://example.com/page.html&t=0.971 HTTP/1.1" 200 49 ...

В этом случае, как можно понять из записи, загрузка оставшейся части страницы http://example.com/page.html заняла у пользователя 0,971 секунды. Если предположить, что всего на странице было загружено файлов общего размера в 57842 байтов, 57842 байтов * 8 битов в байте / 0,971 секунды = 476556 битов в секунду (4б5 Кбит). Такова эффективная пропускная способность канала при загрузке этой страницы. Если у пользователя физический входящий канал 1,5 Мб, значит есть большой простор для увеличения скорости загрузки.

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