Лабораторная работа - microsoft · 2016-09-22 · 37. Запустите тест...

44
Лабораторная работа Тестирование веб-производительности и нагрузки в Visual Studio Enterprise 2015 Lab version: 14.0.23107.0 Last updated: 9/11/2015

Upload: others

Post on 13-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Лабораторная работа

Тестирование веб-производительности и нагрузки в Visual Studio Enterprise 2015

Lab version: 14.0.23107.0

Last updated: 9/11/2015

Page 2: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

TABLE OF CONTENT

ТЕСТИРОВАНИЕ ВЕБ-ПРОИЗВОДИТЕЛЬНОСТИ И НАГРУЗКИ В VISUAL STUDIO ENTERPRISE 2015 ........................ 1

PREREQUISITES ...................................................................................................................................................... 3

УПРАЖНЕНИЯ ....................................................................................................................................................... 3

Page 3: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Резюме

В этой лабораторной работе вы познакомитесь с возможностями по тестированию нагрузки и

производительности веб-проектов в Visual Studio Enterprise 2015. Вы изучите эту тему на примере

компании, чьей целью является моделирование и анализ производительности с некоторым

количеством одновременно находящихся в системе пользователей, что включает в себя

определение тестов производительности (отображающих пользователей, ходящих по сайту и

заказывающих продукты), тестов нагрузки и анализа результатов тестов.

Prerequisites

Для выполнения лабораторной работы вам понадобится виртувальная машина с Visual Studio

2015. Подробнее про то, где загрузить и как ее использовать, здесь. Эта лабораторная работа

требовательна к ресурсам, поэтому выделите максимально возможное количество ресурсов RAM

& CPU для виртуальной машины.

Упражнения

Эта лабораторная работа включает в себя следующие упражнения:

1. Создание тестов производительности для веб-проектов

2. Нагрузочное тестирование

3. Выполнение и анализ нагрузочных тестов

Примерное время выполнения лабораторной работы: 60 минут.

Page 4: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Упражнение 1: создание тестов

производительности для веб-

проектов

В этом упражнении вы настроите и выполните простой тест произовдительности, который будет

генерировать HTTP-запросы и записывать ожидаемые ответы, измеряя время ответа и полосу

пропускания.

1. Войдите под аккаунтом Adam (VSALM\Adam). Пароль: P2ssw0rd.

2. Запустите Visual Studio 2015.

3. Нажмите на File | New | Project….

4. Выберите шаблон Web Performance and Load Test Project в Visual C# | Test, отключите

опцию «add to source control» и нажмите на OK.

Изображение 1

Создание теста нагрузки

5. Будет создан проект со стандартными настройками тестов и единственным файлом с

определением одного веб-теста WebTest1.webtest. Нажмите на Add Recording в верхней

части Web Performance Test Editor для запуска записи.

Page 5: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 2

Запуск записи

6. В режиме Record откроются Internet Explorer и Web Test Recorder. Вы можете ставить на

паузу, останавливать и сбрасывать запись.

Изображение 3

Web Test Recorder в Internet Explorer

Примечание: в режиме Record происходит запись с учетом того, что средний

пользователь может провести некоторое время в раздумьях прежде чем совершить

какое-то действие (think time).

7. Далее мы симулируем деятельность пользователя, нажав на нескольких продуктах и

просмотрев информацию о них. Цель этого – создать профиль типичного поведения

пользователя.

8. В Internet Explorer нажмите на Tailspin Toys. Обратите внимание – запрос запишется.

Page 6: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 4

Запрос на открытие сайта Tailspin Toys

9. Нажмите на Model Airplanes.

Изображение 5

Выбор Model Airplanes

10. Нажмите на Fourth Coffee Flyer.

Page 7: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 6

Выбор Fourth Coffee Flyer

11. Нажмите на Trey Research Rocket в “You Might Also Like”

Page 8: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 7

Выбор Try Research Rocket

12. Нажмите на Stop в Web Test Recorder.

Изображение 8

Остановка Web Test Recorder

13. После окончания записи и возвращения в Visual Studio будут запущены два процесса:

Page 9: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

◦ Будут определены динамические параметры, которые не получается

идентифицировать или извлечь во время записи. Сюда включаются значения

cookies, ASP.NET View State, параметры адресной строки и POST. Извлечение

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

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

◦ Будет запущен записанный тест

◦ Будут показаны результаты теста

14. Изучите запросы – обратите внимание, что данные из адресной строки были

автоматически извлечены. Visual Studio 2015 также извлекает скрытые HTML-поля и POST-

параметры.

Изображение 9

Извлеченные параметры адресной строки

Примечание: на каждый HTTP-запрос может быть применено два типа правил –

валидации и извлечения. Правила валидации используются для проверки, имеет ли

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

используются для сохранения результатов в контексте теста в виде пары ключ-значение –

эти правила извлекают значения из полей форм, текст, атрибутов, заголовков,

регулярных выражений и скрытых полей.

Page 10: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

15. Будет полезно перечислить несколько функций, используемых для производительности,

хоть это и не входит в лабораторную работу.

Функции тестирования веб-производительности

Преобразование записанного теста веб-производительности в код

Добавление имен для идентификации веб-запросов

Настройка тестов

Настройка приемлимого времени ответа от веб-страницы

Добавление источника данных для связки с HTTP-запросами (БД, XML, CSV)

Настройка выполнения с использованием циклов, ветвления и транзакций

Настройка аккаунта для тестирования (basic или Integrated Windows)

16. В Solution Explorer нажмите правой кнопкой на WebTest1.webtest и выберите Rename.

Введите “Browsing.webtest”. Так будет проще отслеживать записанный сценарий.

Изображение 10

Новое имя теста

17. Посмотрим на время записи, чтобы убедиться, что оно находится в пределах допустимого.

Нажмите на Set Request Details.

Изображение 11

Кнопка Set Request Details

Page 11: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

18. Окно Request Details показывает таблицу со всеми запросами, именами отчетов,

временем в секундах и целевых показателях времени ответа в секундах. Для этой

лабораторной работы убедитесь, что сумма всего времени не превышает 15 секунд. Это

позволит быть уверенными в том, что мы получим хорошие результаты при тестировании

нагрузки. Нажмите на ОК.

Изображение 12

Окно Request Details

19. Добавим еще один тест для сценария покупки клиентом продукта на сайте. Нажмите на

Project | Add Web Performance Test. Мы могли бы объединить все в один тест, но

разделение тестов в таком виде поможет сделать более реалистичное тестирование

нагрузки.

20. На Tailspin Toys нажмите на Paper Airplanes

Изображение 13

Выбор Paper Airplanes

21. Нажмите на Wingtip Toys Stunt Plane.

Page 12: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 14

Выбор Wingtip Toys Stunt Plane

22. Нажмите на Add To Cart.

Изображение 15

Добавление продукта в корзину

23. Нажмите на Checkout.

Page 13: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 16

Покупка

24. Заполните форму тестовыми данными и нажмите на Review Order.

Изображение 17

Покупка

Page 14: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

25. Нажмите на Place Order.

Изображение 18

Покупка

26. После покупки нажмите на Stop.

27. В Solution Explorer нажмите правой кнопкой на WebTest1.webtest и выберите Rename.

Переименуйте тест в “Buying.webtest”.

Изображение 19

Имя теста

28. Откройте окно Test Results и обратите внимание, что тест не был пройден. Нажмите два

раза на нем для просмотра информации.

Page 15: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 20

Просмотр информации о тесте

29. Окно Test Result Details содержит список HTTP-запросов, ответов, данные о контексте

теста и другие сведения.

Изображение 21

Окно Test Result Details

30. Выберите запрос, показывающий тест, который не был пройден. Обратите внимание, что

код возврата – 200, и Request и Response выглядят нормальными.

Page 16: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 22

Ответ на размещение заказа показывает ошибку

31. На вкладке Details можно увидеть, что тест не прошел, так как, согласно правилу Response

URL Validation, ожидалось увидеть аналогичный записанному URL ответ (который включал

уникальный номер заказа)

Изображение 23

Вкладка Details

32. Закройте окно результатов.

33. Исправим тест, который не был пройден. Найдите в Validation Rules правило Response

URL.

Page 17: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 24

Правило валидации Response URL

34. Нажмите правой кнопкой на Response URL. Нажмите на Delete.

Изображение 25

Удаление правила валидаици Response URL

35. Посмотрим на то, удовлетворяют ли лимитам показатели времени. Нажмите на Set

Request Details.

Изображение 26

Кнопка Set Request Details

Page 18: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

36. Убедитесь, что общее время не превышает 30 секунд. Нажмите на OK..

Изображение 27

Окно Request Details

37. Запустите тест Buying, чтобы проверить, проходит ли он.

Изображение 28

Кнопка Run Test

Примечание: по умолчанию тесты выполняются без учета времени, хотя это может быть

указано в настройках.

38. Результаты должны иметь зеленый цвет.

Page 19: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 29

Все запросы пройдены

39. Закройте окно результатов.

Упражнение 2: нагрузочное

тестирование

В этом упражнении вы научитесь использовать тесты веб-производительности, созданные ранее,

в качестве базы для теста нагрузки. Для создания теста нагрузки, который определит нагрузку от

пользователя, надо указать, какие тесты веб-производительности надо использовать, тип сети,

браузер, счетчики производительности и метрики, которые мы хотим собрать во время теста.

1. Нажмите Project | Add Load Test.

2. В New Load Test Wizard нажмите на Next

Изображение 30

Load Test Wizard

3. Введите название сценария “BrowseAndOrderProduct”. Остальные настройки стандартны

и используют время выполнения тестов веб-производительности как медианное значение

Page 20: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

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

веб-сайт.

4. Нажмите на Next.

Изображение 31

Определение сценария для теста нагрузки

5. Измените значение User Count на 5 пользователей, так как мы работаем внутри

виртуальной машины и важно удерживать одновременное количество пользователей на

таком уровне, чтобы ресурсов машины хватало.

Примечание: ограничение на количество виртуальных пользователей для теста нагрузки

было убрано в Visual Studio Ultimate 2012 (и выше). Вам больше нет необходимости

покупать лицензии на виртуальных пользователей для увеличения их количества. Однако

лицензия Visual Studio Ultimate Trial ограничивает вас 25 виртуальными пользователями

и позволяет выполнять только локальные тесты.

6. Нажмите на Next.

Page 21: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 32

Настройка режима нагрузки

7. Изучите описания каждой из моделей тестирования.

Page 22: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 33

Определения моделей

8. Предположим, что у нас есть данные о том, какой процент приходящих пользователей

совершает покупки. Нажмите на based on the total number of tests и нажмите на Next.

Page 23: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 34

Определение модели

9. Нажмите на Add.

Изображение 35

Добавление тестов

10. Выберите оба имеющихся теста и добавьте их в микс, после чего нажмите OK.

Page 24: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 36

Добавление тестов в микс

Примечание: тесты нагрузки могут включать миксы тестов coded UI, веб-

производительности и других типов, например, юнит-тестов. Важно знать, что для тестов

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

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

11. Предположим, что 25% пользователей покупают продукты на сайте. Внесите это значение

в Distribution и нажмите на Next.

Page 25: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 37

Определение микса

12. Окно Network Mix дает возможность выбора между типами сетей и распределения этих

типов между виртуальными пользователями. Нажмите на выпадающем меню Network

Type.

Изображение 38

Типы сетей

13. Выберите LAN и нажмите на Next.

Page 26: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 39

Определение микса сетей для теста

Примечание: сетевая эмуляция не будет работать, так как внутри виртуальной машины

URL будет определяться как localhost.

14. Окно Browser Mix дает возможность выбрать один и более типов браузеров и указать их

распределение между пользователями, что позволяет смоделировать более

реалистическую картину взаимодействия пользователей с веб-сайтом. Выберите 100%

Internet Explorer 9.0 и нажмите на Next.

Page 27: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 40

Определение микса браузеров для теста

15. Окно Counter Sets дает возможность настроить компьютеры и наборы счетчиков, с

которых будут считываться данные во время теста нагрузки. Нажмите на Add Computer и

введите ‘VSALM’.

16. Выберите счетчики ASP.NET и SQL, так как мы тестируем веб-сайт. Controller Computer и

Agent Computers уже собирают некоторые данные по умолчанию, и обе отображают одну

машину. Нажмите на Next.

Page 28: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 41

Определение счетчиков производительности

Примечание: во время тестов можно добавлять или изменять наборы счетчиков,

редактируя файлы .CounterSet XML в папке %programfiles(x86)%\Microsoft Visual Studio

14.0\Common7\IDE\Templates\LoadTest\CounterSets. В папке LoadTest также есть

определения сетей и браузеров.

17. Окно Run Settings дает возможность настроить длительность выполнения теста по

времени либо количеству итераций. Измените время с 10 минут на 1. Стандартный

sampling rate в 5 секунд хорошо подходит для нашей ситуации и вообще – для быстро-

выполняющихся тестов. Если вы хотите более длительные тесты, поставьте sampling rate

более редким – во время тестов будет генерироваться меньшее количество данных.

18. Нажмите на Finish.

Page 29: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 42

Тест нагрузки

19. В Solution Explorer нажмите два раза на файле Local.testsettings.

Изображение 43

Пользовательские настройки

20. Настройки сейчас говорят о том, что запуск будет происходить локально, но начиная с

Visual Studio 2013 Ultimate тесты можно производить с помощью Visual Studio Online.

Выберите “Run tests using local computer or a test controller”.

Page 30: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 44

Нагрузочное тестирование с помощью Visual Studio Online

21. В окне Test Settings нажмите на Data and Diagnostics для просмотра доступных адаптеров:

ASP.NET Profiler, Event Log, IntelliTrace, Network Emulation и т.д. По умолчанию ничего из

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

нагрузки на машины и приведет к созданию большого количества данных.

Изображение 45

Адаптеры данных

Page 31: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Закройте окно Test Settings без сохранений.

Упражнение 3: выполнение и анализ

нагрузочных тестов

В этом упражнении вы выполните тесты нагрузки, созданные ранее, и проанализируете

результаты.

22. Откройте созданный ранее тест в Solution Explorer..

Изображение 46

Определение нагрузочного теста

23. Нажмите на Manage Test Controllers в Load Test Editor.

Изображение 47

Управление контроллерами тестов

24. Выбранный Controller указан в <Local – No controller>. Нажмите на (…) для настройки

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

Page 32: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 48

Окно Test Controller

25. В Connection Properties введите в Server Name значение VSALM, выберите Windows

Authentication, и оставьте стандартное название базы. Нажмите на OK.

Page 33: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 49

Настройки подключения к базе данных

26. Нажмите на Close.

27. Запустите нагрузочный тест, нажав Run Test.

Изображение 50

Page 34: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Кнопка Run Test

28. Результаты начнут показываться в окне Graphs сразу после инициализации. По умолчанию

у вас будет четыре панели с важной статистикой, и счетчики производительности под

ними. Данные снимаются по умолчанию каждые 5 секунд, что может быть при желании

изменено.

Изображение 51

Результаты нагрузочного теста

Примечание: результаты, которые получите вы, скорее всего будут сильно отличаться за

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

использовать большее количество виртуальных пользователей, лучшим выбором будет

использовать во время теста несколько машин, не только для генерации нагрузки, но и

для разнесения компонентов системы.

29. После окончания теста вы будете переключены на окно Summary, показывающее общую

статистику и ключевую информацию о тесте. Обратите внимание на ссылки, которые ведут

на детализированную информацию в окне Tables.

Page 35: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 52

Окно Summary результатов нагрузочного теста

30. Нажмите на Graphs.

Изображение 53

Graphs

31. Вы можете управлять показываемыми графиками. Нажмите на panels - Two Horizontal

Panels.

Изображение 54

Настройка графика

Page 36: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

32. По умолчанию верхний график показывает ключевые индикаторы, нижний – время ответа

страницы.

Изображение 55

Графики Key Indicators и Page Response Time

33. Нажмите на одной из линий на графике Key Indicator, что приведет к подсветке счетчика,

связанного с графиком. Красная линия показывается пользовательскую нагрузку в разных

частях теста, она всегда равна 5, как мы и настроили.

Изображение 56

Индикатор User Load

Page 37: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

34. Нажмите на Pages/Sec в Key Indicators. На скриншоте мы видим, что среднее количество

просматриваемых страниц в секунду во время теста было равно 1.38

Изображение 57

Просмотр счетчиков

35. Эти цифры – информация полезная, но не богатая. Тем не менее, она вляется хорошей

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

поможет измерить влияние на производительность. Например, если мы видим большое

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

исправить добавлением дополнительного кэширования и перезапуском тестирования для

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

36. Перезапустите тест. Теперь у нас есть несколько результатов тестирования и мы можем

сделать анализ трендов.

37. Нажмите на Create Excel Report

Изображение 58

Create Excel Report

38. В Generate a Load Test Report в Excel убедитесь, что выбрана опция Create a report и

нажмите на Next.

Page 38: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 59

Создание отчета о нагрузочном тестировании

39. Выберите Trend. Нажмите Next.

Page 39: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 60

Выбор типа отчета

40. В Report Name введите значение “LoadTestTrend” и нажмите на Next.

Page 40: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 61

Имя отчета

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

Next.

Page 41: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 62

Выбор тестов для генерации отчета

42. Нажмите на Finish.

Page 42: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 63

Выбор счетчиков производительности

43. После генерации отчета вам будет показана таблица с содержимым и ссылками на

страницы отчета. Нажмите на Avg. Page Time.

Page 43: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 64

Отчет по трендам

44. График Avg. Page Time показывает среднее время страницы для каждого из запусков

тестов, выбранных для анализа по трендам. Время страницы это метрика, включающая в

себя все запросы, сделанные к веб-странице. Эта метрика является полезным

индикатором производительности. Так как мы не вносили никаких изменений в

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

Page 44: Лабораторная работа - Microsoft · 2016-09-22 · 37. Запустите тест Buying, чтобы проверить, проходит ли он. Изображение

Изображение 65

График Avg. Page Time

To give feedback please write to [email protected]

Copyright © 2015 by Microsoft Corporation. All rights reserved.