31 October 2007

Анализ производительности Safari 3 под Windows

Safari
Translation
Original author: Michael Czeiszperger
На днях bbsod опубликовал заметку про независимое тестирование браузера Safari. Думаю надо поподробнее остановиться на этом, например, сервисы Google такие как Gmail и Google Maps в Safari 3 работают не так быстро как в FireFox и IE, ну об этом чуть ниже. Итак в этой заметке мы остановимся о методиках тестирования скорости работы веб браузеров на примере Safari.

Измерение реальной производительности браузера от Apple
11 июня Apple выпустил версию своего OSX браузера Safari 3.0 для Windows, заявив, что это «самый быстрый Windows браузер». Это заявление было сделано на основании тестов, проводимых Apple, на базе бенчмарка iBench сделанного Зифом Дэвисом, который разделяет результаты тестирования производительности HTML, JavaScript и время запуска приложения. Существует бесчисленное множество бенчмарков для проверки производительности, и мы решили проверить соответствует ли заявление Apple действительности.

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

Какие веб-страницы?
При тестировании Safari 3.0 только на Gmail и Google Maps оказалось, что Safari 3.0 работает медленней, чем Firefox 2 и IE7 под Windows, но тестирование на основе только этих двух сайтов не может показать в полной мере возможностей браузера для всех пользователей. Разумеется, что проверять надо на большем количестве веб-сайтов, но на каких конкретно? Проблема была решена отбором для тестирования шестнадцати англоязычных сайтов, находящихся на первых строчках рейтинга Alexa на 29.08.07. Это позволило протестировать сайты с совершенно разным дизайном, начиная от простейших страниц на DHTML. Подобный подход позволил учесть максимально возможные варианты дизайнов веб-страниц. Большее количество тестируемых веб-страниц, конечно, позволило бы повысить точность, но шестнадцать – это хорошее число для точного и простого тестирования, плюс покрываются одновременно все самые популярные сайты.

yahoo.com
msn.com
google.com
youtube.com
live.com
myspace.com
orkut.com
wikipedia.org
facebook.com
hi5.com
rapidshare.com
blogger.com
medaupload.com
microsoft.com
friendster.com
fotolog.net


Особенности сети
Основной проблемой при тестировании браузера является пропускная способность канала. Она может широко варьироваться, и невозможно точно определить, когда скорость работы низкая из-за загруженности сервера, а когда проблемы, собственно, в браузере. Это проблема может быть каким-то образом решена, если проводить измерения в разное время в течение дня, но это так же не дает совершенных гарантий точности. Сервер может быть слабо загружен во время тестирования одного браузера и потом вдруг неожиданно нагрузка на сервер возрастет, когда будет испытываться другой.
Проблема была решена раздельным как сайтов в Интернете, так и «законсервированных» сайтов. Тестирования для сайтов в Интернете делалось несколько раз и затем выводилось среднее значение.
«Законсервированная» статистика делалась следующим образом: сайт полностью сохранялся на локальный сервер, а затем статистика измерялась уже для локальной сети. Чтобы сделать пропускную способность канала приближенной к реальной, все браузеры работали на канале со скоростью 5 Мбит/сек. К тому же, у нас были две отдельные техники измерения, что позволяет избежать погрешности. Другими словами, разница в работе браузера должна быть одинакова в обеих группах тестов.
Заметьте, что мы не заявляем о том, что эта методика лучше какой-то другой. У нее есть свои недостатки, и она должна восприниматься только как одна из возможных точек зрения при оценке производительности браузера.

Техника измерения
Измерение производительности при работе с веб-страницами производились нашим собственным программным продуктом Web Performance Analyzer Pro, который измеряет HTTP трафик. Некоторые программы для тестирования сталкиваются с проблемой при использовании javascript для подсчета времени загрузки страницы, но эта неприятность была исключена при нашем подходе. Причина, по которой наша методика измерения заметно точнее в том, что для повышение скорости отображения страниц, браузер предотображает страницу как только возможно, и в то же время конвейеризирует HTTP запросами изображений. Пока к тому времени, как загрузиться последняя картинка, веб-страница уже будет полностью отображена за исключением последней картинки, временем на загрузку которой можно пренебречь.
У такой методики есть недостатки. Например, страницы с AJAX могут отображаться некорректно. К счастью, программа группирует HTTP трафик и посему довольно просто определить статистику, связанную со страницей.

Кэширование
При определении скорости загрузки веб-страницы возможны два сценария. В первом, случае, когда пользователь заходит на страницу впервые, во втором же, когда при открытии страницы большая часть информации уже кэширована. Оба случая тестировались раздельно для того, чтобы определить разницу в производительности.

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

Установки
Использовалась операционная система Windows XP Professional SP 2, сервер IIS 5.0 с включенными HTTP соединением и компрессией. Тестировались браузеры: Firefox 2.0.0.6, Safari 3.0.3 и Internet Explorer 7.0.5730

Ограничения
Ограничениями для этого теста стали AJAX сайты вроде GMail, так как по этому поводу уже сказано, а участие таких сайтов в тесте может увеличить погрешность теста. Так что этот тест скорее замеряет среднюю производительность браузеров при работе с HTML, но не может служить хорошим индикатором для сайтов класса GMail.

Еще одним ограничением в тесте стало то, что тестировались сайты, чей хостинг располагался в США. Это связанно с тем, что если сайт хостится в Азии, то велика вероятность случайных перепадов в работоспособности серверов, что ведет к неточным данным он-лайн тестов.
Ну и наконец, техника, когда сайт полностью переносится на локальный сервер отлично работает только для простых сайтов. Сайты с более сложной структурой довольно трудно корректно перенести на локальный сервер. Однако это не противоречит другим особенностям теста.

Данные тестирования

Тестирование сайтов на локальном сервере
Вышеперечисленные сайты хостились на локальном сервере IIS. Измерения были сделаны как для первого посещения, так и для страниц с кэшированным содержимым. Сразу стало понятно, что ни один браузер не станет лучшим во всех тестах. Один будет быстрее на одной странице, один на другой.

Тестирование сайтов на локальном сервере

Время загрузки было усреднено, что позволило понять общую картину производительности по всем сайтам. График выше показывает, что быстрее всех работал Safari 3, затем Internet Explorer 7, затем Firefox 2. Производительность браузеров при загрузке страниц с кэшированным содержимым была в среднем выше, но места распределились так же – Safari beta был самым быстрым, затем IE7, затем самый медленный – Firefox 2.

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

Измерения он-лайн

Если тесты с локальной сетью были точны, то тестирование он-лайн будет сопоставлено с предыдущими результатами, и таким образом будут сделаны все выводы. График ниже показывает разницу между скоростью загрузки в локальной сети и в Интернет. Тут вы можете видеть взаимосвязь между производительностью браузеров основанной на первой загрузке страницы. Победил Safari 3.0, затем идет IE7 и на третьем месте Firefox 2. При проверке производительности для кэшированных страниц места распределились иным образом: ничья между Firefox и IE, но Safari их немножко опередил.

Анализ

Анализ

Какой браузер быстрее?
Во всех случаях браузер Safari 3.0 beta для Windows показал себя самым быстрым. Разница между средним временем загрузки страницы для всех тестов показана на этом графике:

Какой браузер быстрее?

Скорость загрузки удаленной веб-страницы варьируется от 0.2 секунды для кэшированной страницы до 1.4, когда страница грузиться впервые. Разница в 0.2 секунды между Safari beta и Firefox 2 c IE7 незначительна, и показывает что для часто посещаемых страниц серьезных выигрышей в скорости загрузки страницы мы просто не увидим.

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

Для страниц загружаемых с локального хостинга Safari 3.0 так же показал лучше результаты, но разница была менее заметна. Так что производительность всех браузеров при работе с LAN была приблизительно одинакова, что довольно ожидаемо.

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

Оценка заявлений Apple о производительности
Компания Apple заявляла буквально следующее: «Safari загружает страницы в два раза быстрее, чем Internet Explorer 7 и в 1.6 раза быстрее, чем Firefox 2». Принимая во внимание то, что Apple говорил о максимально возможных цифрах, мы считаем, что они говорили только о первом загрузке страницы, опустив работу с кэшированными сайтами.
Apple заявили, что Safari быстрее Firefox в 1.6 раза и показали графики, где время загрузки для Safari было 2.14 сек, а для Firefox 2 – 3.67 сек. Разница в этих цифрах – 1.7 секунды, что практически точно соответствует результатам нашего тестирования.
Касательно сравнения с IE7, Apple заявили, что их браузер работает в 2 раза быстрее, и показали график, где коэффициент был около 2.2. Это несколько больше коэффициента 1.4, который вычислили мы, но все равно, действительно, Safari заметно быстрее.

В любом случае, реальность заявлений Apple будет зависеть от того, хотите ли вы оперировать конкретными числами, или основной концепцией – что Safari быстрей Firefox 2 и IE7. Мы действительно подтвердили правдивость этих заявлений, если страница загружается в первый раз, и подвергли их сомнению в случае, если страница уже в кэше. Однако следует понимать, производительность браузера в каждом конкретном случае будет зависеть от того, что за страницу вы посещаете.

Хотите быть в курсе всех новостей браузера Safrari? Подпишитесь на наш RSS
Tags:safariappleбраузерfirefoxie
Hubs: Safari
+20
925 3
Comments 87
Popular right now
SEO-специалист
December 7, 202064,900 ₽Нетология
iOS-разработчик с нуля
December 7, 202070,740 ₽Нетология
Python для работы с данными
December 7, 202031,500 ₽Нетология
UX-дизайнер
December 7, 202047,940 ₽Нетология