2008-10-27 5 views
33

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

Очевидным ответом для каждого разработчика является очистка кеша и постоянный просмотр «чистого» раздела плагина Firebug. Какие другие способы измерения «перетаскивания сайта» вы использовали?

+0

этот инструмент может помочь: http://365andup.com/ – 2017-10-23 05:22:51

ответ

28

Yslow - это инструмент (расширение браузера), которое должно вам помочь.

YSlow анализирует веб-страницы и почему они медленны на основе правил Yahoo!! Для высокопроизводительных веб-сайтов.

+1

работает только для светлячок – kohlerm 2008-10-27 20:13:04

+1

@ kohlerm С момента вашего комментария прошло много времени. Теперь Yslow поддерживается не только Firefox: например, я использую его в Chrome! – JeanValjean 2013-02-10 10:46:57

1

Если это asp.net, вы можете использовать Trace.axd.

Yahoo обеспечивают YSlow, который может быть отлично подходит для проверки JavaScript

2

Ну, называть меня старомодным, но ..

время локон -L http://www.example.com/path

в Linux :) Кроме этого, я m большой поклонник YSlow, как упоминалось ранее.

+1

Это добавляет время поиска DNS к вашим измерениям. – Hugo 2008-10-27 16:20:42

+3

, но не учитывает время рендеринга и не имитирует параллельные запросы. – kohlerm 2008-10-27 20:27:05

7

«Время загрузки страницы» на самом деле определить нелегко. Это зависит от используемого вами браузера, потому что разные браузеры могут делать больше запросов параллельно, потому что javascript имеет разные скорости в разных браузерах, а время рендеринга отличается.

Поэтому вы можете только реально измерить истинное время загрузки страницы, используя интересующий вас браузер. Конец загрузки страницы также может быть трудно определить, поскольку может возникнуть запрос Ajax после того, как все будет видно на странице , Означает ли это загрузку страницы или нет?

И последнее, но не менее важное: время загрузки реальной страницы может не иметь значения, потому что «воспринимаемая производительность» имеет значение. Для пользователя важно то, когда у нее есть достаточно информации, чтобы продолжить

Markus

Я ничего не знаю ни о каком пути (по крайней мере, не могу вам сказать:]), которые будут автоматически измерять ваши страницы воспринимаемое время загрузки ,

Используйте AOL Pagetest для IE и YSlow для firefox (ссылка см. Выше), чтобы получить «ощущение» для загрузки.

4

Получить себе надлежащую отладку прокси установлен (я очень рекомендую Charles)

Не только вы будете в состоянии видеть полную разбивку времени отклика/размеров, вы можете сохранить данные для последующего анализа/сравнения, в хорошо, как скрипка с запросами/ответами и т. д.

(Редактирование: поддержка Charles для отладки SOAP-запросов стоит того, что ее условно-бесплатное вознаграждение - это спасло меня на полтора дня потери волос на этой неделе!)

0

Apache Benchmark. Используйте

ab -c <number of CPUs on server> -n 1000 url

, чтобы получить хорошее приближение, как быстро ваша страница.

+0

Это не имеет никакого отношения к тому, что хотел OP! – 2012-03-12 14:29:02

0

В SafariNetwork Timeline (доступный в меню «Разработка», который вы должны включить) дает полезную информацию о времени загрузки отдельных компонентов страницы, а также показывает, когда каждый компонент начал загрузку.

10

Firebug, обязательное для веб-разработчиков расширение Firefox, может измерять время загрузки различных элементов на вашей веб-странице. По крайней мере, вы можете исключить CSS, JavaScript и другие элементы, занимая слишком много времени для загрузки.

Если вам нужно уменьшить время загрузки JavaScript и CSS, в Интернете есть различные компрессоры JavaScript и CSS, которые просто вынимают из них ненужный текст, например, символы новой строки и комментарии. Конечно, держите обычную версию на стороне ради развития.

Если вы используете PNG, я недавно столкнулся с оптимизатором PNG, который может уменьшить размеры PNG под названием OptiPNG.

1

YSlow как упомянуто выше.

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

0

Yslow - это хорошо, и HttpWatch для IE отлично подходит. Однако оба пропускают самую важную метрику пользователю «Когда страница - над сгибом - готова для использования пользователю?». Я не думаю, что одна была еще решена ...

3

Последний раз, когда я работал на веб-сайте высокого объема, мы сделали несколько вещей, в том числе:

  • Мы использовали YSlow, чтобы получить анализ отдельных факторов, влияющих на загрузку страницы: https://addons.mozilla.org/en-US/firefox/addon/5369
  • мониторинг производительности, используя внешний, коммерческий инструмент под названием Гомес - http://www.gomez.com/instant-test-pro/
  • Подчеркивает тестировали с использованием непрерывной сборки интеграции, используя Apache JMeter. http://jmeter.apache.org/

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

0

Существует, очевидно, несколько способов определить время отклика, но задача всегда заключалась в том, как измерять время рендеринга, которое тратится в браузере.

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

Что-то вроде этого 1. A = Общее время отклика, как измерено с помощью автоматизированного инструмента (в нашем случае мы используем QTPro) 2. B = Время последнего байта (сервер + Network времени, от скрипача следа) 3. C = AB (приблизительное время рендеринга или время, проведенное в браузере)

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

3

Я обычно использую webpagetest.org, который вы можете использовать для проведения тестов производительности из разных мест в разных браузерах (хотя и только с msie 7-9) с различными настройками (номер итераций, скорости соединения, первого запуска и второго посещения, исключая конкретные запросы, если хотите, учетные данные, если необходимо, ...).

результат a very detailed report of page loading time, который также предоставляет рекомендации по оптимизации.

это действительно отличный инструмент!

2

загрузки страниц является онлайн проверки инструментом, с помощью Google, которая является очень точным и надежным:

https://developers.google.com/pagespeed/