• Главная
  • Карта сайта
Не найдено

Internet Explorer Performance Lab: надійне вимірювання продуктивності браузера - Створення Windows 8

  1. Огляд системи Internet Explorer Performance Lab
  2. інфраструктура лабораторії
  3. Інфраструктура мережі та серверів
  4. сервери вмісту
  5. емулятори мережі
  6. DNS-сервери
  7. Конфігурації тестових клієнтів
  8. Сервери аналізу і звітів
  9. Що (і як) ми вимірюємо
  10. Сценарії для щоденного вимірювання
  11. Реальні закономірності использование
  12. інженерні метрики
  13. Інфраструктура трасування подій Windows
  14. тестування сценарію
  15. налаштування
  16. Обробка помилок і очищення
  17. аналіз результатів
  18. Тестування програмного забезпечення сторонніх постачальників
  19. Створення швидкого браузера для користувачів

Значна частина даного блогу присвячена опису того, що відбувається «за лаштунками» інженерної розробки Windows 8. У цій статті розглядаються питання, яким ми приділяємо найпильнішу увагу і як інженери, і як користувачі - веб-продуктивності в реальних умовах. Нам довелося виконати величезну роботу, щоб перейти від туманних планів і обговорень до реальних і результативним діям щодо забезпечення високопродуктивного перегляду веб-сторінок. Дана стаття написана Метом Коценасом (Matt Kotsenas), Жатіндером Манном (Jatinder Mann) і Ясоном Вебером (Jason Weber) з робочої групи Internet Explorer, хоча забезпечення продуктивності в тій чи іншій мірі є завданням будь-якого з членів групи. - Стівен

Веб-продуктивність має значення для всіх користувачів, тому одна з цілей інженерних робіт полягає в тому, щоб зробити Internet Explorer найшвидшим в світі браузером. Для досягнення цієї мети нам необхідно надійно вимірювати продуктивність браузера в рамках реальних сценаріїв, що представляють інтерес для наших клієнтів. За останні п'ять років ми спроектували і побудували лабораторію Internet Explorer Performance Lab - одну з найскладніших в світі систем для вимірювання веб-продуктивності.

Internet Explorer Performance Lab збирає достовірні, точні і значущі дані для прийняття рішень в рамках всього циклу розробки. Щодня ми 200 раз вимірюємо продуктивність Internet Explorer, виробляємо 5,7 мільйона вимірювань і збираємо 480 ГБ даних, отриманих під час виконання. Ми розуміємо, який вплив надає кожна зміна на даний продукт і прагнемо зробити Internet Explorer ще швидше. У цьому записі блогу докладно розглядаються особливості розробки Internet Explorer Performance Lab, а також як ми використовуємо цю систему з метою постійного підвищення швидкості роботи з веб-сторінками.

Зміст статті

  • Огляд системи Internet Explorer Performance Lab
  • інфраструктура лабораторії
  • Що (і як) ми вимірюємо
  • тестування сценарію
  • Аналіз результатів
  • Тестування програмного забезпечення сторонніх постачальників
  • Створення швидкого браузера для користувачів

Огляд системи Internet Explorer Performance Lab

Щоб забезпечити надійне вимірювання веб-продуктивності в часі, система повинна відтвореним чином моделювати реальні сценарії роботи користувачів. Фактично наша система повинна створювати «міні-версію Інтернету».

Internet Explorer Performance Lab являє собою приватну мережу, повністю ізольовану від загального доступу через Інтернет і інтрамережі корпорації Майкрософт і включає в себе більше 140 комп'ютерів. У лабораторії представлені основні компоненти реального Інтернету, включаючи веб-сервери, DNS-сервери, маршрутизатори, емулятори мережі, за допомогою яких моделюються різні сценарії підключення клієнтів.

На перший погляд це може здатися складним, однак такий підхід дозволяє виключити всі джерела відхилень, що впливають на процеси, що вивчаються. Завдяки управлінню всіма компонентами мережі (аж до окремих стрибків пакетів і затримок) наші тести стають детермінованими і повторюваними, що має критично важливе значення для додання значущості результатів. В системі Internet Explorer Performance Lab вимір активності здійснюється з дозволом в 100 наносекунд.

Такий тип мережевої конфігурації також відрізняється дуже високою гнучкістю. Оскільки ми моделюємо реальні умови настройки, наша лабораторія дозволяє реалізувати настройку практично для будь-якого типу тестового комп'ютера або контенту веб-сайту. Ineternet Explorer Performance Lab підтримує настільні системи, ноутбуки та планшетні ПК з процесорами x86, x64 і ARM, що працюють одночасно. Аналогічним чином, оскільки в лабораторії використовується набір засобів оцінки продуктивності Windows (Windows Performance Tools - WPT) , Ми можемо проводити ті ж тести з використанням інших веб-браузерів, панелей інструментів, антивірусних продуктів або інших програм сторонніх постачальників і безпосередньо порівнювати отримані результати.

Набір WPT дозволяє детально вивчити особливості функціонування базового обладнання. За допомогою набору WPT може виконуватися захоплення будь-даних - від відомостей високого рівня про активність центрального і графічного процесорів і аж до інформації низького рівня, що стосується, наприклад, ефективності роботи кеша, мережевий статистики, закономірностей використання пам'яті і т. П. Набір WPT дозволяє вимірювати і оптимізувати продуктивність в межах всього стека, щоб переконатися в тому, що обладнання, драйвери пристроїв, операційна система Windows і браузер Internet Explorer оптимізовані для ефективної спільної роботи.

Виконання одного тестового запуску займає 6 годин і видає більше 22 ГБ даних. Ця в значній мірі автоматизована система обслуговується невеликою групою співробітників, які відстежують роботу, аналізують результати і розробляють нові компоненти інфраструктури.

інфраструктура лабораторії

Інфраструктуру лабораторії продуктивності можна розділити на три основні категорії: мережа і сервер, тестові клієнти і сервери аналізу і звітів. Кожна з цих категорій спроектована таким чином, щоб мінімізувати взаємодія між компонентами , Що дозволяє поліпшити масштабованість тестування і знизити ймовірність виникнення перешкод у лабораторному середовищі.

На фотографії наведено систему Internet Explorer Performance Lab, включаючи кілька комп'ютерів для тестування і аналізу в нашій приватної мережі.

Інфраструктура мережі та серверів

Давайте почнемо з розгляду DNS-серверів, емуляторів мережі і серверів вмісту; всі ці компоненти разом і створюють міні-версію Інтернету. У наступних трьох розділах ми проведемо аналіз, рухаючись справа наліво по нашій схемі архітектури.

сервери вмісту

Сервери вмісту - це веб-сервери, що представляють мільйони веб-сайтів в Інтернеті. На кожному сервері вмісту розміщуються реальні веб-сторінки, які були збережені локально. Захоплені сторінки проходять через процедуру, яку ми називаємо «санітарною обробкою», під час якої ми налаштовуємо окремі частини веб-контенту, щоб забезпечити відтворену зумовленість. Наприклад, функції Date JavaScript або виклики Math.Random () замінюються статичним значенням. Крім того, динамічні URL-адреси, створені рекламними платформами, блокуються на те URL-адресу, який спочатку використовувався платформою.

Після санітарної обробки вміст обслуговується аналогічно статичному вмісту через фільтр ISAPI , Який зіставляє хеш URL-адреси з вмістом, що дозволяє забезпечити практично миттєвий пошук. кожен веб-сервер являє собою 16-ядерний комп'ютер з 16 ГБ ОЗУ, що дозволяє до мінімуму знизити мінливість і забезпечити включення інформації в пам'яті (виключається необхідність доступу до диска).

На серверах вмісту також розміщуються динамічні веб-додатки, такі як Outlook Web Access або Office Web Apps. У цих випадках сервер додатків і будь-які багаторівневі залежності розміщуються в лабораторії на виділених серверах - як і в реальних середовищах.

емулятори мережі

Оскільки багато джерел мінливості були усунені, швидкість роботи мережі більше не відображає ситуацію, в якій безліч користувачів має низькошвидкісне підключення. Щоб змоделювати реальні середовища клієнтів, в тесті може застосовуватися емуляція мережі, що дозволяє визначити продуктивність для широкого спектра сучасних мереж. Лабораторія підтримує емуляцію декількох конфігурацій DSL, кабельних модемів, модемів зі швидкістю 56 Кбіт / с, а також середовищ з високою пропускною здатністю і високою затримкою, таких як середовища глобальної мережі і 4G. У міру передачі HTTP-запитів в емулятор він моделює характеристики мережі, такі як затримка і зміна порядку пакетів, а потім переправляє запит на веб-вузли. Після отримання відповіді емуляція повторюється, а потім дані передаються назад на тестовий клієнт.

Використання виділеного обладнання для емуляції мережі дозволяє отримати найбільш реалістичну тестову середу і значно скорочує «ефект спостерігача». Хоча виділене обладнання викликає збільшення вартості і рівня складності в порівнянні з рішеннями на базі проксі-серверів або програмними рішеннями, його використання є єдиним способом точного вимірювання продуктивності. Браузери обмежують число одночасних проксі-підключень, щоб запобігти можливості насичення, тому використання проксі-серверів для емуляції мережі має непередбачений ефект, що складається у виключенні необхідності сегментування домену та виконання інших оптимізацій, що реалізуються веб-сторінкою. Крім того, функція емуляції локальної мережі буде конкурувати з браузером за використання локальних ресурсів, особливо на комп'ютерах зі зниженим енергоспоживанням.

DNS-сервери

Як і реальні DNS-сервери, лабораторні DNS-сервери пов'язують сервери вмісту з тестовими клієнтами. У лабораторії також використовується окремий DNS-сервер для кожного емулятора мережі. Це означає, що перехід з однієї швидкості мережі на іншу здійснюється так само просто, як зміна DNS-сервера. У цих випадках замість дозволу імен доменів на веб-вузли DNS-сервер дозволяє все імена доменів на зіставлений емулятор мережі.

Конфігурації тестових клієнтів

Ми хочемо переконатися, що Internet Explorer забезпечує узгоджене швидкодію на всіх класах комп'ютерного обладнання. Лабораторія містить більше 120 комп'ютерів, що використовуються для вимірювання продуктивності Internet Explorer. Ми називаємо ці комп'ютери тестовими клієнтами. Вони охоплюють широкий діапазон систем - від потужних настільних комп'ютерів на базі платформи x64 до нетбуків зі зниженим енергоспоживанням і сенсорних планшетних пристроїв (і все, що лежить між ними). Оскільки повторюваність вимірів є найважливішою вимогою, всі тестові клієнти є фізичними комп'ютерами.

Група комп'ютерів Internet Explorer Performance Lab для порівняння змін

Різні класи комп'ютерів включають в себе як дискретні, так і інтегровані графічні платформи, щоб забезпечити використання браузером Internet Explorer повного спектру переваг апаратного прискорення в рамках всієї екосистеми пристроїв. Вище представлена ​​наша головна група комп'ютерів. Ці комп'ютери представляють усереднений досвід користувачів за час існування комп'ютерів з ОС Windows 7 або Windows 8. Комп'ютери замовлялися у одного постачальника обчислювальної техніки, чим забезпечується їх ідентичність. Ці комп'ютери належать одній виробничій партії, а їх характеристики продуктивності проходять попередню перевірку.

Оскільки лабораторія працює цілодобово 7 днів на тиждень, неминуче виникають збої обладнання. Заміна несправних компонентів відповідними запчастинами з іншої виробничої партії майже завжди призводить до того, що відремонтований комп'ютер працює швидше інших комп'ютерів в групі. Така відмінність залишилася б непоміченою в реальних умовах, однак при виконанні вимірювань з дозволом до 100 наносекунд зміна навіть в декількох циклах може вплинути на результати! Якщо після ремонту комп'ютер працює не так, як інші комп'ютери в групі, він видаляється з лабораторії, і розмір групи постійно зменшується. Як заходів реагування на вказані обставини лабораторією купуються додаткові «буферні» комп'ютери, щоб при видаленні несправну систему з групи зайві потужності створювали демпферну зону, що нейтралізує негативний вплив на роботу лабораторії.

ім'я групи

число машин

Форм-фактор

процесор

Арх.

Тактова частота

ОЗУ

графіка

Головна група

32

Настільний ПК

Core i5 750 (Lynnfield)

64-розрядна

2,66 ГГц

4096 МБ DDR3

NVIDIA GeForce 310

Щоб додати різноманітності в апаратну частину, ми створили додаткові групи комп'ютерів, на яких реалізується ряд різних клієнтських сценаріїв. Висока продуктивність на цих комп'ютерах забезпечує, що Internet Explorer ефективно використовує базове устаткування в рамках всієї екосистеми комп'ютерів.

ім'я групи

число машин

Форм-фактор

процесор

Арх.

Тактова частота

ОЗУ

графіка

Високий клас 1

20

Настільний ПК

Core i7 870

64-розрядна

2,93 ГГц

4096 МБ DDR3

ATI Radeon HD 4550

Високий клас 2

4

Настільний ПК

Xeon 5150 (Woodcrest)

64-розрядна

2,66 ГГц

8192 Мб DDR2

ATI Radeon X1950 Pro

Середній клас 1

6

Настільний ПК

Core 2 Duo (Wolfdale)

64-розрядна

3,0 ГГц

4096 МБ DDR2

Intel GMA 4500

Середній клас 2

15

Настільний ПК

Core 2 Duo E6750

64-розрядна

2,66 ГГц

4096 МБ DDR2

ATI Radeon HD 2400 XT

Середній клас 3

25

Настільний ПК

Core i5 2500

64-розрядна

3,30 ГГц

4096 МБ DDR3

Intel HD Graphics 2000

Середній клас 4

6

Настільний ПК

Core 2 Duo (Conroe)

64-розрядна

2,66 ГГц

4096 МБ DDR2

ATI Radeon HD 2400XT

Середній клас 5

4

Настільний ПК

Core 2 Duo (Conroe)

64-розрядна

2,4 ГГц

4096 МБ DDR2

ATI Radeon X1950 Pro

Низьке споживання енергії 1

2

ноутбук

Atom Z530

32-розрядна

1,6 ГГц

2038 МБ DDR2

Intel GMA 500

Низьке споживання енергії 2

4

нетбук

Atom N270

32-розрядна

1,6 ГГц

1024 МБ DDR2

NVIDIA ION

Низьке споживання енергії 3

2

нетбук

Atom N450

64-розрядна

1,66 ГГц

1024 МБ DDR2

Intel GMA 3150

Низьке споживання енергії 4

4

нетбук

Atom N270

32-розрядна

1,6 ГГц

1024 МБ DDR2

Intel GMA950

Низьке споживання енергії 5

4

планшет

ARM

32-розрядна

-

-

-

прототипи пристроїв

-

-

-

-

-

-

-

-

Тестові комп'ютери зі зниженим енергоспоживанням. Всі вони знаходяться на різних стадіях тестування.

Якщо потрібно ще більшу різноманітність, Internet Explorer Performance Lab може також використовувати можливості системи Windows Graphics Lab. Система Windows Graphics Lab включає в себе практично всі вироблені набори графічних мікросхем. Комп'ютери можна об'єднувати в будь-які мислимі конфігурації і потім використовувати для тестування продуктивності. Система Windows Graphics Lab безцінна при діагностуванні проблем з графікою для різних наборів мікросхем і версій драйверів.

Сервери аналізу і звітів

Збір і аналіз результатів тестування ділиться на два окремих етапи. Завдяки розвантаженню аналізу на виділені комп'ютери тестові клієнти можуть раніше почати наступний запуск тестування продуктивності, і найбільш продуктивні комп'ютери класу сервера можуть використовуватися для прискореного виконання аналізу. Чим швидше аналіз завершується, тим ефективніше ми можемо виявляти зміни продуктивності.

Для аналізу ми використовуємо 11 комп'ютерів класу сервера , Кожен з яких має 16 ядер і 16 ГБ ОЗУ. Під час аналізу вивчається кожен файл трасування, витягуються і вставляються тисячі метрик на сервер SQL Server. Протягом 24 годин ці комп'ютери аналізу вивчають більше 15 000 трассіровок, які будуть використовуватися для аналізу тенденцій.

Протягом 24 годин ці комп'ютери аналізу вивчають більше 15 000 трассіровок, які будуть використовуватися для аналізу тенденцій

На фотографії зображено дві (з декількох) серверні стійки з файловими серверами, сервером SQL і декількома серверами аналізу даних і серверами вмісту.

Сервер SQL Server використовується для зберігання близько 6 мільйонів вимірювань, які ми збираємо щодня на комп'ютері з 24 логічними ядрами і 64 ГБ ОЗУ. Звіти можуть створюватися безпосередньо з SQL; результати можуть також перевірятися за допомогою додатка для порівняння на базі HTML або за допомогою служби WCF , Яка надає результати в форматах XML або JSON.

Що (і як) ми вимірюємо

Після знайомства з інфраструктурою давайте розглянемо різні типи сценаріїв вимірювань в Performance Lab і засоби, що використовуються для отримання метрик.

Сценарії для щоденного вимірювання

Система Performance Lab орієнтована на реальні сценарії, які важливі для користувачів. Тому кожен день ми проводимо більше 20 000 різних тестів. Ці тести діляться на чотири категорії, які іноді перетинаються між собою:

Завантаження контенту - перехід з однієї сторінки на іншу все ще залишається однією з найбільш поширених операцій в веб-браузері. Завантаження веб-контенту також є єдиною категорією, яка стикається з більшістю з одинадцяти підсистем браузера. Завантаження веб-контенту є попередньою умовою для інших категорій сценаріїв.

Інтерактивні веб-додатки - ця категорія включає в себе те, що іноді називають засобами створенням контенту, додатками AJAX або сайтами Web 2.0. Вона включає в себе взаємодію з популярними сайтами новин та соціальних мереж, а також взаємодія з додатками для роботи з поштою і документами, такими як Outlook Web Access і Office Web Apps.

«Додаток» Internet Explorer - важливі, хоча і часто не беруть до уваги, сценарії із взаємодії з самим браузером. До найбільш поширених операцій належать відкриття або закриття браузера, перемикання вкладок, використання компонентів браузера, таких як «Журнал» і «Вибране», прокрутка і зміна масштабу за допомогою миші і клавіатури, а також сенсорний ввід.

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

Реальні закономірності использование

При вімірі продуктівності важліво переконатіся, что в тестах відображені реальні закономірності использование. У більшості підручників з розробки програмного забезпечення даний процес називається моделюванням робочого навантаження або моделюванням використання додатків. Щоб переконатися, що система Performance Lab вимірює саме реальні закономірності, в ній використовуються реальні веб-сторінки, які відображають реальні закономірності використання і де застосовуються різні підсистеми браузера.

Щоб визначити, які сайти слід використовувати для тестування, ми регулярно виконуємо обхід мільйонів сайтів і складаємо список атрибутів сайтів і закономірностей написання коду. Ми використовуємо 68 різних точок даних, щоб виявити загальні риси у різних сайтів - такі характеристики, як глибина і ширина підсумкової моделі DOM, шаблони макетів CSS, поширені платформи, міжнародні компоненти и много Іншого. На основі отриманих результатів ми вибираємо сайти, які найкращим чином представляють поширені закономірності і різноманітність якомога більшої області Інтернету.

інженерні метрики

Забезпечення продуктивності є багатовимірною проблемою. Єдиний спосіб отримання чіткого уявлення про продуктивність полягає в тому, щоб зрозуміти особливості тестованого сценарію і принципи взаємодії обладнання та операційної системи з браузером. Тут ми докладніше розглянемо п'ять важливих метрик продуктивності в контексті вперше здійснюваної завантаження великого спортивного сайту.

Час відображення - ця метрика вимірює час, що минув з моменту виконання дії користувачем до відображення результатів цієї дії на екрані.

Витрачений час - після відображення вмісту на екрані більшість сайтів продовжує виконувати фонові операції. Як приклади можна привести завантаження наступного повідомлення в додаток веб-пошти або відправку аналітичних даних назад постачальнику. З точки зору користувача сайт може виглядати готовим, однак часто все ще виконується значна робота, яка може чинити негативний вплив на загальну швидкість реагування.

Час ЦП - практично єдиним обмеженням сучасних веб-браузерів є швидкість ЦП. Розвантаження роботи на графічний процесор і підвищення ефективності ЦП робить значний вплив на продуктивність.

Використання ресурсів - для побудови швидкого браузера потрібно злагоджена робота ресурсів всього комп'ютера, включаючи використання мережі, шаблони використання пам'яті, обробку в графічному процесорі, графіку, пам'ять і сотні інших аспектів. Оскільки користувачі запускають на комп'ютері кілька додаток одночасно, важливо, щоб браузери своєчасно надавали відповідні ресурси іншим додаткам для спільного використання.

Енергоспоживання - збільшення ефективності енергоспоживання призводить до більш тривалого часу роботи батареї в сценаріях мобільного використання, скорочення витрат електроенергії на пристрої і зниження несприятливого впливу на навколишнє середовище.

Надмірна увага тільки однієї метриці створює занадто спрощене уявлення про продуктивність. Концентруючись на одній метриці, люди частину прагнуть оптимізувати процеси тільки щодо даного показника, найчастіше на шкоду іншим не менш важливим метрик. Єдиний спосіб боротьби з такою тенденцією полягає в вимірі всіх аспектів продуктивності та подальшому свідомому, а не побічно обгрунтованому прийнятті компромісного варіанту.

В цілому система Performance Lab вимірює понад 850 різних метрик. Кожна з них вносить свій внесок в загальну картину продуктивності браузера. Щоб дати вам уявлення про те, що саме ми вимірюємо, нижче наведено (неповний) перелік основних метрик: приватний робочий набір, загальний робочий набір, лічильник HTTP-запитів, лічильник отриманих байтів TCP, число завантажених довічних файлів, число перемикань контексту, використання відеопам'яті диспетчера вікон робочого столу, відсоток використання графічного процесора, число отрісовок, час ЦП для збору сміття JavaScript, час ЦП для синтаксичного аналізу JavaScript, середній інтервал оновлення диспетчера вікон робочого столу, піковий загальні й робочий набір, число виділень з купи, розмір виділень з купи, число необроблених виділень з купи, час ЦП для підсистеми структури, час ЦП для підсистеми форматування, час ЦП для підсистеми відтворення, час ЦП для підсистеми аналізатора HTML, час простою ЦП, число потоків.

Інфраструктура трасування подій Windows

Метрики збираються за допомогою інфраструктури трасування подій Windows и VMMap . Трасування подій Windows - це система ведення журналів подій в рамках всієї операційної системи Windows, яка використовується багатьма компонентами Windows і додатками сторонніх постачальників, в тому числі журналом подій Windows . API ведення журналів трасування подій Windows знаходяться на найнижчому рівні і вимагають мінімальних витрат ресурсів, що надзвичайно важливо для тестування продуктивності.

Засіб перегляду трасування xperfview.exe, включене до складу засобів оцінки продуктивності Windows, являє собою потужний визуализатор, який дозволяє співвідносити і порівнювати показники ядра, ЦП, графічного процесора, введення-виведення, мережевих операцій і інших подій. Крім того, кошти оцінки продуктивності Windows підтримують обхід стека . Обхід стека з регулярним інтервалом створює моментальний знімок стека викликів програми і зберігає цей стек в складі даних трасування. Співвідносячи події трасування подій Windows зі стеками, засоби оцінки продуктивності Windows показують не тільки виконувалася роботу, але і зіставлений з нею стек викликів і кількість часу, витрачений на цю роботу, з дозволом в 10 мікросекунд. Обхід стека можна включити для будь-якого процесу, навіть якщо цей процес не використовує події трасування подій Windows. Недолік обходу стека полягає в тому, що для декодування стеків йому потрібні символи налагодження , А також в сприйнятливості до присвоєння псевдонімів .

тестування сценарію

Останнім елементом мозаїки є сам процес тестування. Тестування можна розділити на 3 етапи: настройка, тестування і обробка помилок / очищення. Нижче наведена блок-схема всього процесу.

налаштування

Дана процедура починається, коли користувач запитує запуск через веб-сайт лабораторії або платформу автоматизації. Запуск поміщається в чергу пріоритетів, в якій знаходяться інші очікують запуски. Коли тестовий клієнт звільняється, він перевіряє чергу і запускає саме пріоритетне з доступних йому завдань. Спочатку тестовий клієнт встановлює зазначену тестову операційну систему. Система Internet Explorer Performance Lab підтримує тестування в операційних системах Windows Vista, Windows 7 і Windows 8. Тестовий клієнт виконує установку нової копії тестової операційної системи для кожного запуску, щоб комп'ютер завжди знаходився в відомої працездатною конфігурації.

Після установки тестової операційної системи клієнт налаштовує кошти оцінки продуктивності Windows, VMMap і оточення тесту. В рамках запуску також визначається набір параметрів Internet Explorer, таких як домашня сторінка, використання рекомендованих сайтів, перегляд InPrivate та інших. На даному етапі також встановлюється і налаштовується все необхідне програмне забезпечення сторонніх постачальників.

Безпосередньо перед тестуванням підтверджується стан бездіяльності клієнта, щоб звести до мінімуму сторонній вплив на тестування. Операційна система Windows визначає концепцію задач періоду бездіяльності . Завдання періоду бездіяльності надають Windows і стороннім програмам можливість планувати виконання некритичних завдань на більш пізній час, коли відсутня конкуренція за ресурси комп'ютера. Завдання періоду бездіяльності операційної системи включають в себе попереджувальну завантаження або суперзагрузку , Дефрагментацію дисків, оновлення індексів пошуку і т. Д. - в залежності від версії операційної системи і налаштованих служб. Щоб переконатися, що під час тестів не виконуються завдання періоду бездіяльності, чергу цих завдань записується на диск. Крім того, припиняється Захисник Windows, а розташування журналів для оточення тесту позначається як виключена зі служби індексування Windows, щоб запобігти запуск індексатора файлами журналів і трасування під час тестового запуску. Тестування здійснюється за багато проходів, щоб мінімізувати кількість необхідних постачальників, так як додаткові постачальники збільшують ефект спостерігача . Перший прохід завжди є «прогревочном». Такий «прогрів» забезпечує підготовку довічних файлів браузера та приміщення максимального обсягу контенту Кешована сторінок в кеш WinINET. Кожен з наступних проходів зосереджений на конкретному типі інструментірованія, такому так обхід стека, трасування пам'яті, вводу-виводу і реєстру.

Обробка помилок і очищення

Якщо в будь-який момент під час тестування відбувається збій браузера, даний тестовий прохід вважається невдалим, після чого виконується перехід до наступного тестового проходу. Якщо в будь-який момент під час тестування відбувається збій операційної системи Windows, комп'ютер перезавантажується і виконується перевстановлення операційної системи, так як правильність її конфігурації не може бути гарантована. Коли число повторних спроб перевищує порогове значення, весь запуск вважається невдалим і комп'ютер переходить до наступного запуску, щоб запобігти нескінченні спроби тестування нестабільного побудови.

Після завершення обробки всіх тестових випадків тестовий клієнт відправляє журнали і трасування для аналізу. Потім тестовий клієнт повертається в стан бездіяльності і починає опитування для виконання нового запуску.

аналіз результатів

Кожна метрика відстежується щодо змін. Ми запускаємо кожен тестовий випадок не менше десяти разів і дублюємо запуски принаймні на двох різних комп'ютерах, щоб створити вибіркову сукупність. Використання статистичних інструментів дозволяє автоматично позначати нетипові результати для подальшого вивчення. Зміна дисперсії також розглядається за допомогою регресії. Користувачі взаємодіють з Internet Explorer при самих різних умовах і на самому різному обладнанні, тому одна з наших цілей полягає в забезпеченні стабільного і передбачуваного взаємодії в будь-яких умовах.

На додаток до автоматизованого аналізу група розгляду перевіряє щоденні результати, щоб виявляти тенденції і інші цікаві режими роботи. Виключити таке виконується вручну дослідження неможливо, так як у багатьох статистичних інструментах передбачається, що має місце нормальний розподіл і що все вибірки є незалежними. Для наших вимірів не забезпечується суворе виконання жодного з цих припущень. Деякі операції в Internet Explorer управляються таймером операційної системи, тому результати також залежать від часу початку завантаження сторінки (а також циклу таймера). Завантаження сторінки, яка починається безпосередньо перед перериванням таймера або після нього, може бути пов'язана з більшим чи меншим обсягом роботи, так як Internet Explorer повинен обробити переривання в різних точках процесу завантаження сторінки. Це переривання може надавати пульсуюче вплив, яке веде до отримання бімодального розподілу . Крім того, оскільки ми використовуємо повторювані випробування (і не очищаємо комп'ютер між ітераціями), попереднє випробування впливає на подальше випробування. Нижче наведено приклад графіка витраченого часу для Карт Bing з порівнянням щодо змін.

Нижче наведено приклад графіка витраченого часу для Карт Bing з порівнянням щодо змін

Червоними з'єднаними відрізками позначено середнє значення кожного тестового запуску, а сірими лініями показаний діапазон. При наведенні покажчика на тестовий запуск відображаються ітерації для даної метрики (виділені блакитним кольором), а також підказка з точними значеннями мінімального, середнього і максимального показників і абсолютної і відносної різницею в порівнянні з попереднім тестовим запуском. Підказка, зображена на цьому малюнку, також містить додатковий контекст, наприклад відомості про тестованому побудові, і швидку посилання на вихідну систему управління для перегляду змін в побудові.

Таке поєднання автоматизованого аналізу і перевірки, виконуваної вручну, надає робочій групі Internet Explorer надійні і значущі дані для регулювання продуктивності.

Тестування програмного забезпечення сторонніх постачальників

Багато додатків сторонніх постачальників залежать від Trident, мережевого стека і інших компонентів Internet Explorer. Такі розширення, як допоміжні об'єкти браузера і панелі інструментів, завантажуються в контексті Internet Explorer. Інші додатки, наприклад програми по забезпеченню безпеки, можуть вставляти себе в набір компонентів Internet Explorer. Ці програми стають частиною стека Internet Explorer і можуть викликати зниження продуктивності. Система Performance Lab дозволяє вимірювати ступінь впливу програмного забезпечення сторонніх постачальників на перегляд реального вмісту в контрольованому середовищі. Такі дослідження важливі для Internet Explorer і всієї екосистеми, так як в загальному випадку користувачі не можуть кількісно оцінити вплив популярного програмного забезпечення на роботу браузера і перегляд веб-сторінок.

При тестуванні впливу програмного забезпечення сторонніх постачальників ми порівнюємо запуск, виконаний в умови, коли це програмне забезпечення встановлено, з чистим запуском, при якому встановлений тільки браузер Internet Explorer. Зокрема, нас цікавить вимір двох метрик: час запуску і час навігації. Час запуску визначає час, який витрачається на запуск браузера і перехід по URL-адресою, а час навігації визначає час, який витрачається на перехід по URL-адресою вже після того, як браузер був запущений. Запуск також включає в себе час, що витрачається на завантаження розширень Internet Explorer додатками сторонніх постачальників.

Використання вмісту, поміщеного в кеш, забезпечує повторюваність наших вимірів. Крім того, за допомогою вимірювання кешованого сайту ми може точно визначити, що зниження продуктивності викликано програмним забезпеченням сторонніх постачальників, а не відмінностями на сайті. Кожен раз при вимірюванні ступеня впливу програмного забезпечення сторонніх постачальників ми також перевіряємо отримані результати, виконуючи тестування запуску і навігації з використанням прямого підключення до Інтернету, щоб переконатися, що розбіжності не викликані тестової середовищем.

Багато додатків сторонніх постачальників під час навігації по сторінках розвантажують роботу в хмарні служби. Хоча паралельне виконання завдань і використання хмарних служб є прекрасними способами підвищення продуктивності, деякі додатки, працюючи в синхронному режимі, очікують отримання результатів з мережі і блокують процес навігації. Існує багато реальних сценаріїв, таких як строгі правила брандмауера, підключення до глобальної мережі і сценарії автономної роботи, в яких такі методики можуть стати причиною помітного користувачам зниження продуктивності. Програмне забезпечення сторонніх постачальників ніколи не повинно виконувати синхронну обробку при відгуку на операцію Internet Explorer або дія користувача. Воно також має обробляти поновлення користувальницького інтерфейсу і моделі DOM в пакетному режимі, щоб звести негативний вплив до мінімуму.

Створення швидкого браузера для користувачів

Реальна продуктивність браузера має значення для всіх користувачів. Великомасштабне вимір продуктивності вимагає значних інвестицій і великих витрат часу, проте одержувані при цьому результати, безсумнівно, цього варті. Дані, зібрані системою Internet Explorer Performance Lab, допомагають нам зрозуміти фактори, що впливають на продуктивність браузера і роботу базового обладнання комп'ютера. Вони також допомагають забезпечити для користувачів швидке, надійне і динамічний взаємодія з Інтернетом.

- Мет Коценас, Жатіндер Манн і Ясон Вебер для робочої групи Internet Explorer Performance

Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью