Я пытаюсь определить "медлительность сайта". Раньше вы просто следили за тем, чтобы ваш HTML был легким, изображения были оптимизированы, а серверы не перегружены. На сайтах высокого класса, построенных на основе современных систем управления контентом, есть намного больше переменных: сторонняя реклама, трекеры и различные другие запросы, производительность CDN (что интересно, иногда сети доставки контента ухудшают ситуацию), выполнение javascript, перегрузка css. , а также всевозможные проблемы на стороне сервера, такие как длинные запросы.
Очевидный ответ для каждого разработчика - очистить кеш и постоянно просматривать «чистый» раздел плагина Firebug. Какие еще способы измерения «затягивания сайта» вы использовали?


Yslow - это инструмент (расширение для браузера), который должен вам помочь.
YSlow analyzes web pages and why they're slow based on Yahoo!'s rules for high performance web sites.
@kohlerm Прошло много времени с момента вашего комментария. Теперь Yslow поддерживается не только Firefox: например, я использую его в Chrome!
Если это asp.net, вы можете использовать Trace.axd.
Yahoo предоставляет yslow, который отлично подходит для проверки JavaScript.
Что ж, называйте меня старомодным, но ..
время curl -L http://www.example.com/path
в linux :) Помимо этого, я большой поклонник YSlow, как упоминалось ранее.
Это добавляет время поиска DNS к вашему измерению.
но не учитывает время рендеринга и не моделирует параллельные запросы
«Время загрузки страницы» действительно непросто определить в целом. Это зависит от используемого вами браузера, потому что разные браузеры могут выполнять больше запросов параллельно, потому что javascript имеет разную скорость в разных браузерах и потому что время рендеринга разное.
Поэтому реально измерить истинное время загрузки страницы можно только с помощью интересующего вас браузера. Конец загрузки страницы также может быть трудно определить, потому что может быть запрос Ajax после того, как все будет видно на странице. Это учитывает загрузку страницы или нет?
И последнее, но не менее важное, реальное время загрузки страницы может не иметь большого значения, потому что важна «воспринимаемая производительность». Для пользователя важно, когда у него достаточно информации для продолжения.
Я не знаю ни одного способа (по крайней мере, я не могу вам сказать:]), который автоматически измерял бы воспринимаемое время загрузки ваших страниц.
Используйте AOL Pagetest для IE и YSlow для firefox (см. Ссылку выше), чтобы «почувствовать» время загрузки.
Установите себе правильный отладочный прокси (я настоятельно рекомендую Чарльз)
Вы не только сможете увидеть полную разбивку времени / размера ответа, вы можете сохранить данные для последующего анализа / сравнения, а также поиграть с запросами / ответами и т. д.
(Правка: поддержка Чарльзом для отладки запросов SOAP стоит копейки его условно-бесплатного программного обеспечения - только на этой неделе это сэкономило мне добрые полдня от выпадения волос!)
Тест Apache. Использовать
ab -c <number of CPUs on server> -n 1000 url
чтобы получить точное представление о скорости вашей страницы.
Это не имеет ничего общего с тем, чего хотела ОП!
В СафариСетевая шкала времени (доступный в меню «Разработка», который необходимо специально включить) дает полезную информацию о времени загрузки отдельных компонентов страницы, а также показывает, когда каждый компонент начал загрузку.
Firebug, расширение Firefox, необходимое веб-разработчикам, может измерять время загрузки различных элементов на вашей веб-странице. По крайней мере, вы можете исключить CSS, JavaScript и другие элементы, которые загружаются слишком долго.
Если вам действительно нужно сократить время загрузки JavaScript и CSS, в Интернете есть различные компрессоры JavaScript и CSS, которые просто удаляют из них ненужный текст, например символы новой строки и комментарии. Конечно, обычную версию держите на стороне для разработки.
Если вы используете PNG, я недавно наткнулся на оптимизатор PNG, который может уменьшать размеры PNG, под названием OptiPNG.
Панель «Сеть» в Firebug отлично подходит для этого.
YSlow, как упоминалось выше.
И совместите это с Fiddler. Это хорошо, если вы хотите видеть, какие объекты страницы используют наибольшую пропускную способность, какие сжимаются на сервере, неожиданные циклы приема-передачи и что кэшируется. И это может дать вам общее представление о времени обработки в клиентском веб-браузере по сравнению со временем, затрачиваемым между сервером и клиентом.
Yslow хорош, и HttpWatch для IE тоже хорош. Однако оба упускают из виду самый важный показатель для пользователя: «Когда страница -выше сгиба- готова к использованию пользователем?». Я не думаю, что этот вопрос еще решен ...
В прошлый раз, когда я работал над массовым веб-сайтом, мы сделали несколько вещей, в том числе:
Если вы хотите быстро взглянуть, произнесите в первом приближении я бы выбрал YSlow и посмотрите, какие основные факторы влияют на время загрузки страницы в вашем приложении.
Очевидно, есть несколько способов определить время отклика, но проблема всегда заключалась в том, как измерить время рендеринга, которое тратится в браузере.
У нас есть контролируемая фаза тестирования, на которой мы используем несколько автоматизированных инструментов для тестирования приложения. Одним из результатов этого теста является трассировка скрипта для каждой транзакции (клик). Затем мы можем проанализировать трассировку скрипта, чтобы понять время последнего байта и вычесть его из общего времени, затраченного на страницу.
Что-то вроде этого 1. A = Общее время отклика, измеренное автоматическим инструментом (в нашем случае мы используем QTPro) 2. B = время до последнего байта (сервер + время сети, из трассировки скрипта) 3. C = A-B (приблизительное время рендеринга ИЛИ время, проведенное в браузере)
Все, что я объяснил выше, можно сделать стандартным процессом тестирования, и в конце теста мы можем сгенерировать разбивку времени, проведенного на каждом уровне, например. время рендеринга, сетевое время, вызовы базы данных и т. д.
Я обычно использую webpagetest.org, который вы можете использовать для выполнения тестов производительности из разных мест, в разных браузерах (хотя только msie 7-9), с разными настройками (количество итераций, скорость соединения, первый запуск против второго посещения, исключая конкретные запросы, если вы хотите, учетные данные, если необходимо, ...).
результатом является очень подробный отчет о времени загрузки страницы, который также дает советы по оптимизации.
это действительно отличный (бесплатный) инструмент!
ой, это был старый вопрос! странно (неудобно), что RSS-каналы SO включают старые вопросы всякий раз, когда кто-то отправляет ответ ...
PageSpeed - это очень точный и надежный инструмент онлайн-проверки от Google:
https://developers.google.com/pagespeed/
Теперь это возвращает 404.
этот инструмент может быть полезен: 365andup.com