2009-06-23 4 views
8

Я знаю, что каждый, кто прочитает вопрос, подумает «Firebug!». немедленно. Может быть, некоторые подумают «YSlow!» и «Скорость страницы Google!».Как вы выполняете тесты производительности страницы?

Хотя мне очень нравятся эти инструменты, я больше беспокоюсь о том, как быстро страница будет отображаться в IE 6/7/8. Все перечисленные выше инструменты требуют Firefox. Все в порядке, и вы можете определенно проверить базовую скорость получения страницы в браузере, но как насчет того, когда дело доходит до фактического отображения страницы?

Я не видел никаких действительно хороших ответов о том, как тестировать оптимизацию на уровне браузера. Как вы пишете тесты производительности для HTML/JS по разным браузерам?

ответ

5

Я не уверен, что это полезно стремиться оптимизировать только для одного поставщика:

  • относительно HTML, большинство браузеров написаны для оптимизации стандартных методов компоновки (таблицы, таблицы-менее, и т.д.)
  • рендеринга двигатели вполне отличаются между IE6 и IE8, так уже это как два разных браузеров
  • большинство методов оптимизации являются стандартными во всех браузерах (поместить Javascript в нижней части, так что вам не блок загрузки страницы, перемещать Javascript для внешнего файла, используйте несколько имен хостов для изображений и т.д., чтобы воспользоваться параллельной загрузки, не используйте таблицы для общей компоновки, убедитесь, что кэширование заголовки правильны и т. д.)
  • После того, как у вас есть сайт, оптимизированный для Firefox, я бы сказал, что есть немного больше, чтобы получить его для IE; на данный момент, возможно, на уровне приложений возможно больше возможностей (оптимизация запросов и т. д.), если ваш сайт не является в основном статическим контентом, и в этом случае вы можете исследовать кеширование, сжатие HTTP и т. д.
  • если ваша проблема на самом деле в оптимизации Javascript-кода для IE, тогда есть много хороших кросс-браузерных Javascript-библиотек, которые находятся в гонке вооружений для лучшего времени выполнения на платформах браузеров, поэтому снова выбор кросс-браузерного решения - это путь
  • пейзаж браузера постоянно развивается, и ваши клиенты, скорее всего, перейдут на другую платформу в какой-то момент по дороге; оптимизация для нескольких разных браузеров теперь приведет к более совместимому коду, который, скорее всего, будет хорошо работать, когда в какой-то момент в будущем произойдет изменение платформы.
  • Я бы сказал, что при написании оптимизированного кода с использованием перекрестного браузера будет больше поддерживающая кодовая база с меньшим количеством магических IE-хаков, чья причина существования скоро будет потеряна в тумане времени
+0

+1, отметив, что оптимизация является стандартной для всех браузеров ... – cgp

+0

«не использовать таблицы для общей компоновки» - почему? – Midhat

+0

@Midhat - Таблицы с вычисленной компоновкой требуют, чтобы все их содержимое было выложено и вычислено до того, как любая часть может быть отображена. Это скорее вопрос воспринимаемой производительности, чем фактическая производительность, но иногда это имеет большое значение. –

1

Я не претендую на то, чтобы знать абсолютный ответ. Но один метод будет:

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

Хотя это не может быть вполне удовлетворительным ответом, я буду наблюдать, что это самый простой.

Кстати, каковы, по вашему мнению, аспекты производительности, которые вы можете выделить, используя «тест уровня браузера», который вы не можете выполнить с помощью теста уровня «firebug level»?

Приветствия,

JRH

+0

Я предполагаю, что часть, которую я чувствую, мне не хватает, - это то, как Trident делает против Гекко. – Travis

2

Поместите блок сценария в начале документа, в его конце и установить window.onload. Возьмите текущую временную метку с помощью Number(new Date) в каждой из этих «точек последовательности», и вы можете получить первое впечатление о том, как долго страница должна отображаться в агроническом режиме браузера.

4

Вы можете использовать IE high performance tester.

+0

Это не больше о производительности javascript, чем производительность движка HTML-рендеринга? – jrharshath

0

мне очень нравится AOL's PageTest инструмент, он сочетает в себе много полезности, найденного в Firebug, YSlow, и PageTest и заворачивает в хорошем веб-интерфейсе с несколькими приятными функциями. Во-первых, он может быть запущен на IE7 или IE8 (нет 6, извините) из США или международных офисов, чтобы дать вам лучшее представление о производительности там. Он предоставляет диаграммы водопада, подобные диаграммам в сетевой панели Firebug, которые полезны для определения времени, затрачиваемого на время. В нем также содержатся рекомендации по исправлению, которые аналогичны тем, что были в YSlow. Наконец, он позволяет запускать несколько проб на одном и том же сайте, чтобы вы могли получать более точные результаты при минимизации внешних факторов.

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

В Сети есть куча Google Tech Talks, в которых рассказывается об улучшении производительности сети. This blog post содержит список переговоров, наиболее важных для этой темы.

0

WebWait работает в любом браузере.

Это еще один инструмент для использования в вашем поясе для обеспечения производительности сети.