Подтвердить что ты не робот

Как вы измеряете скорость загрузки страницы?

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

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

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

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

Маркус

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

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

Ответ 4

Получите собственный прокси-сервер отладки (я рекомендую Charles)

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

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

Ответ 5

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

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

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

Ответ 6

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

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

это действительно отличный (бесплатный) инструмент!

Ответ 7

Хорошо, назовите меня старомодным, но..

time curl -L http://www.example.com/path

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

Ответ 8

PageSpeed ​​- это инструмент онлайн-проверки Google, который является очень точным и надежным:

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

Ответ 9

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

Yahoo предоставляет yslow, который отлично подходит для проверки javascript

Ответ 10

YSlow, как указано выше.

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

Ответ 11

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

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

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

Ответ 12

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

Ответ 13

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

Ответ 14

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

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

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

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