Измеряем эффективную ширину канала пользователей
Можно легко измерить реальную пропускную способность канала для пользователей исследуемого сайта. И в том случае, если пользователи загружают страницу существенно медленнее, чем могли бы (учитывая физические ограничения на их канал), возможно, стоит применить меры к исправлению этой ситуации.
Прежде чем давать браузеру любые ссылки на внешние объекты (<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 Мб, значит есть большой простор для увеличения скорости загрузки.
После того как будет собрана некоторая статистика по времени загрузки страницы и эффективной ширине канала для реальных пользователей, можно поэкспериментировать с изменениями, которые способны изменить эти показатели к лучшему. В случае значительных улучшений этого показателя стоит закрепить внесенные изменения.
Дата добавления: 2015-05-19; просмотров: 627;