Главная > Теория и практика > Оптимизация клиентской части с Google Page Speed

Оптимизация клиентской части с Google Page Speed

google_logo

В статье “Оптимизация клиентской части” был рассмотрен ряд практик по улучшению клиентской производительности Web приложений. На практике весьма сложно контролировать выполнение всех рекомендаций, но этого и не требуется, т.к. существуют специальные инструменты, которые сами проведут нужные тесты, покажут статистику и подберут советы.

Page Speed - инструмент от Google для анализа производительности клиентской части Web приложений. Это бесплатная утилита, которая представляет собой плагин к Firefox/Firebug. Помимо обширной аналитической информации, Google Page Speed предоставляет еще и уместные советы по оптимизации узких мест анализируемых страниц.

Как выглядит и что может дать этот инструмент на практике.

Установка и запуск

Установка выполняется, как обычно для плагинов Firefox, одним кликом по кнопке плагина со страницы загрузки. Учтите, что у Вас должен быть установлен плагин Firebug (у кого нет, ставим отсюда).

После установки в панели Firebug появятся две дополнительные вкладки Page Speed и Page Speed Activity. Page Speed позволяет провести большое количество разнообразных анализов страницы с точки зрения оптимальной ее подстройки для быстрой отдачи.

Проанализируем популярный vkontakte.ru:

vkontakte_speed_test

После тестов в панели FireBug появится отчет по разделам с пометками о возможных недостатках. Всего Google Page Speed может выдать 4 типа сообщения:

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

Как видим, в нашем примере есть ряд замечаний различного уровня важности:

screenshot-vkontakte-den-golotyuk-mozilla-firefox-1

Кроме просмотра детальных комментариев, можно также увидеть список всех ресурсов страницы с деталями выполения запросов на вкладке “Show Resources”, что полезно для сравнительного анализа компонент системы. Ингода проблемы заключаются в присутствии на странице нескольких очень больших по размеру изображений. Эта вкладка поможет выявить подобные проблемы.

Если сравнивать приложение от Google с его конкурентом Yslow от Yahoo, то можно сказать, что Page Speed проводит более детальный анализ и выдает большее количество практических советов (хотя некоторые немного маразматичны, учитывая тенденции современной разработки).

Динамика загрузки страниц

Page Speed также позволяет отследить все действия браузера по загрузке страницы в прямом эфире. Это очень полезно для отслеживания самых медленных компонент страницы (например, можно выяснить, что медленее всего на странице грузится банер, но задерживает за собой всю страницу). Единственный недостаток - это то, что утилита отслеживает все действия браузера, а не вкладки или окна, поэтому всё остальное придется закрывать на время теста. После проведения тестов получите временную диаграму:

activity2

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

Другие возможности

Кроме рассмотреных функциональных особенностей, Page Speed имеет еще ряд полезных вещей:

  1. Временной анализ вызовов JavaScript функций, что очень полезно для отладки медленных скриптов
  2. Профилирование JavaScipt, как встроенного так и отложенного (запускаемого до и после события onload)
  3. Установка различных заголовков User-Agent (расширенное меню)
  4. Автозапуск при загрузке страницы

Официальный сайт Google Page Speed

А Вы чем пользуетесь для профилирования и анализа загрузки Web страниц?

Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com

Статьи по теме

  1. 26 Июль 2009 в 19:45 | #1

    Я еще пользуюсь Google Page Speed и Dust-Me Selectors

  2. esh
    27 Ноябрь 2009 в 11:41 | #2

    Огромное спасибо, это то что нужно!

  1. Пока что нет уведомлений.