SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Оптимизация производительности и нагрузочное тестирование в среде VisualStudio Team System 2010 Дмитрий Андреев dmitryan@microsoft.com witter:@dmandreev
Содержание Анализ производительности Нагрузочное тестирование Конкурентный анализ
Анализ производительности
Сложные вопросы Возможно, мое приложение использует слишком много ресурсов процессора? Возможно приложение потребляет много памяти? Возможно в приложении есть много лишних I/O операций? Возможно осуществляются ненужные обращения к базе данных?
Эволюция средств профайлинга ,[object Object]
Instrumentation Profiling
.NET Memory Profiling
Reports and Analysis
Enhanced Analysis Capabilities
Report Comparisons
64-Bit Support
Developer Productivity
Platform and Technology5
Продуктивность Новые суммарные и функциональные отчеты Интеграция с редактором кода «Только мой код» Правила и рекомендации Профайлинг в прогрессе
Платформа и технологии Поддержка виртуализации Профайлинг слоев приложений ПрофайлингJavaScript Профайлинг конкурентных систем ПрофайлингHPC приложений
Новые суммарные и детальные отчеты Отчеты как руководство к действию Графики производительности для выявления «бутылочных горлышек» приложения Поддержка Zoom для выявления деталей Визуализация стеков вызовов
«Только мой код» Опциональная возможность для снижения «шумов» при анализе производительности Исключает точки анализа .NET Framrworkдля фокусирования только на коде приложения Разработчик может включить некоторые уровни .NET Framework для более гибкого анализа Вызовы на уровень вниз (из приложения в Framework) Вызовы в верх (из Framework в приложение)
Правила и рекомендации Набор рекомендации по: поддержке оптимальной производительности Анализу (количество тестов) Возможность расширений
10 представлений профайлера Summary Call Tree Modules Caller/Callee Functions Lines Marks Processes Function Details IPs
Нагрузочное тестирование
Основные сценарии Подготовка однопользовательского сценария Создание и запуск тестов оценки производительности Создание и отладка нагрузочных Web тестов Отчетность Фиксация проблем с использованием профайлера
Возможности нагрузочных тестов Целевые тесты (Goal Based) Различные комбинации подтестов (Test Mix) Анализ всего спектра индикаторов производительности ОС Построение графиков для последующего анализа Подключение данных для контекстного взаимодействия тестов Сохранение результатов тестов Возможности расширения с помощью аддонов Подробности http://blog.dynatrace.com/2009/05/20/how-to-extend-visual-studio-2010-web-and-load-testing-with-transactional-tracing/
Архитектура нагрузочного тестирования VSTS Test Controller Load Agent Load Agent Load Agent Load Agent Target Server Collector Agent ASP.NET Profiler
Сетевая эмуляция Новый сетевой драйвер Ограничения пропускной способности Введение ошибок и задержек Сценарии Однопользовательские тесты Автоматическое тестирование
Сетевая эмуляция вне среды Возможность подключать имитационный сетевой стек прямо в приложение Простые шаги Reference: %Program Files%icrosoft Visual Studio 10.0ommon7DErivateAssembliesataCollectors86serapi.dll Конфигурация из Application.Config <NetworkEmulationProfile name="3G" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010"> </NetworkEmulationProfile> Инициализировать «подмену» стека в Initialize Детали http://blogs.msdn.com/lkruger/archive/2009/06/24/creating-a-stand-alone-network-emulator-using-vs2010-beta-1-release.aspx
Запись нагрузочных Web тестов Visual Studio Launches Internet Explorer RecorderListener Browser Recorder Wininet Recorder Merging Recorder Internet Explorer Visual Studio Recorder BHO Browser events Record events Browser Control Wininet Shim Record events Wininet Record events Intercepts wininet calls
АддонIE для записи тестов WebTestRecorderPlugins Visual Studio Launches Internet Explorer RecorderListener Browser Recorder Wininet Recorder Merging Recorder Internet Explorer Visual Studio Recorder BHO Browser events Recorded Web Test Record events Browser Control Wininet Shim Recorder Result Wininet Record events Intercept s wininet calls Record events
Конкурентный анализ
Анализ производительности параллельных систем Многоядерные системы доминируют на рынке Разработчикам необходимо разрабатывать эффективные приложения под такие системы Проблемы Параллельное программирование сложно Множество путей решения, нет устоявшихся практик Visual Studio включает несколько средств PPL/ConcRT, TPL, PLINQ, средства отладки и оценки производительности
Далее о проблемах Тюнинг производительности параллельных систем Новые «проблемные области» и нюансы Это не новая проблема. Но она усложнена параллельностью
Новые средства Традиционные средства требуют улучшений и новых подходов Временные отношения Взаимодействия с ОС, библиотеками, I/O Визуализация очень важна Фокус на параллельном исполнении Основные цели Улучшение продуктивности при параллельной разработке Поддержка native и managed кода 32/64 Vista/Windows7/Server 2008
Визуализатор конкуренций Новое средство в IDE (Premium & Ultimate) Не требует инструментальной предварительной обработки исполняемых файлов Низкий порог нагрузки (меньше интерференции) Другие средства VS2010 Concurrency Resource Contention Tool (поддержка Windows XP) Windows Performance Toolkit Xperf, GPUView
Основные возможности Анализ конкурентных состояний Анализ блокировок тредов Анализ миграций тредов и нагрузки на ядра процессора Анализ зависимостей между тредами Анализ производительности по образцу (sample based)
Представление процессорной нагрузки (CPU Utilization) Изучение или подтверждение сценария конкуренции Тюнинг или поиск возможностей для параллельного выполнения Понимание ситуации совместной работы с соседними процессами Входная точка для более детального анализа
Анализ блокирования тредов Какой тред выполняет операции и почему Запущен: профайлинг Заблокирован:почему Предоставление данных для действий Позволяет пользователю зафиксировать проблемы Агрегация стоимостей блогирующих стеков вызовов Много возможностей для упрощения работы Фильтрация по тредам, времени, типу блокирования
Миграция тредов Назначение: Информировать о том как треды физически исполняются на конкретных ядрах процессора Выделить ситуации массированной миграции тредов Проверка влияния параметров thread affinity Определение регионов «интересов» Там где треды демонстрируют «плохое поведение» Временные регионы Представления блокирования для последуюшего анализа

Weitere ähnliche Inhalte

Was ist angesagt?

Решения для автоматизации тестирования Web-приложений на базе Selenium
Решения для автоматизации тестирования Web-приложений на базе SeleniumРешения для автоматизации тестирования Web-приложений на базе Selenium
Решения для автоматизации тестирования Web-приложений на базе SeleniumSQALab
 
автоматизированное тестирование. С чего начать Part2
автоматизированное тестирование. С чего начать Part2автоматизированное тестирование. С чего начать Part2
автоматизированное тестирование. С чего начать Part2DataArt
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1DataArt
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...jazzteam
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Alexander Babich
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Seleniumjazzteam
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013GetDev.NET
 
Лилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web ServicesЛилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web ServicesSQADays_2009_Piter
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...Positive Hack Days
 
3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov seleniumqasib
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)SPB SQA Group
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA EngineerYan Alexeenko
 
В поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUIВ поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUISQALab
 
Benchmark сканеров SQL injection
Benchmark сканеров SQL injectionBenchmark сканеров SQL injection
Benchmark сканеров SQL injectionAndrew Petukhov
 
Как красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1СКак красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1СFDConf
 
Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестированииISsoft
 
Meeting #4. Frameworks.
Meeting #4. Frameworks.Meeting #4. Frameworks.
Meeting #4. Frameworks.Igor Khrol
 

Was ist angesagt? (20)

Решения для автоматизации тестирования Web-приложений на базе Selenium
Решения для автоматизации тестирования Web-приложений на базе SeleniumРешения для автоматизации тестирования Web-приложений на базе Selenium
Решения для автоматизации тестирования Web-приложений на базе Selenium
 
автоматизированное тестирование. С чего начать Part2
автоматизированное тестирование. С чего начать Part2автоматизированное тестирование. С чего начать Part2
автоматизированное тестирование. С чего начать Part2
 
Jira as a test management tool
Jira as a test management toolJira as a test management tool
Jira as a test management tool
 
Java 9 - Back to the Future
Java 9 - Back to the FutureJava 9 - Back to the Future
Java 9 - Back to the Future
 
Фвтоматизированное тестирование с чего начать Part1
Фвтоматизированное тестирование  с чего начать Part1Фвтоматизированное тестирование  с чего начать Part1
Фвтоматизированное тестирование с чего начать Part1
 
Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...Расширяемая платформа для создания и управления автоматизированными тестами н...
Расширяемая платформа для создания и управления автоматизированными тестами н...
 
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010Microsoft Visual Studio 2010
Microsoft Visual Studio 2010
 
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2SeleniumAgile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
Agile Java Development компания JazzTeam - Техническая презентация Xml2Selenium
 
Что нового в Visual Studio 2013
Что нового в Visual Studio 2013Что нового в Visual Studio 2013
Что нового в Visual Studio 2013
 
Лилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web ServicesЛилия Горбачик, Тестирование Web Services
Лилия Горбачик, Тестирование Web Services
 
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
23may 1300 valday антон сапожников 'еще один недостаток современных клиент се...
 
3 zalomlenkov selenium
3 zalomlenkov   selenium3 zalomlenkov   selenium
3 zalomlenkov selenium
 
ASP.NET MVC: new era?
ASP.NET MVC: new era?ASP.NET MVC: new era?
ASP.NET MVC: new era?
 
"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)"Опыт создания системы управления сборкой и тестированием" (полная)
"Опыт создания системы управления сборкой и тестированием" (полная)
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer
 
В поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUIВ поисках магической кнопки, или как воспитать SoapUI
В поисках магической кнопки, или как воспитать SoapUI
 
Benchmark сканеров SQL injection
Benchmark сканеров SQL injectionBenchmark сканеров SQL injection
Benchmark сканеров SQL injection
 
Как красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1СКак красиво программировать в AngularJS то, что обычно программируют в 1С
Как красиво программировать в AngularJS то, что обычно программируют в 1С
 
Sql инъекции в тестировании
Sql инъекции в тестированииSql инъекции в тестировании
Sql инъекции в тестировании
 
Meeting #4. Frameworks.
Meeting #4. Frameworks.Meeting #4. Frameworks.
Meeting #4. Frameworks.
 

Andere mochten auch

Automated testing
Automated testingAutomated testing
Automated testingMageCloud
 
Ловушки тестирования производительности
Ловушки тестирования производительностиЛовушки тестирования производительности
Ловушки тестирования производительностиSQALab
 
5 лекция. презентация
 5 лекция. презентация 5 лекция. презентация
5 лекция. презентацияvyacheslavmaslov
 
2.1 Тестирование: основные определения
2.1 Тестирование: основные определения2.1 Тестирование: основные определения
2.1 Тестирование: основные определенияNatalia Odegova
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumvyacheslavmaslov
 
6 лекция. тестирование производительности
 6 лекция. тестирование производительности 6 лекция. тестирование производительности
6 лекция. тестирование производительностиvyacheslavmaslov
 
Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Igor Khmelnytskyy
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаAleksandr Boichenko
 
Юзабилити-тестирование (2008)
Юзабилити-тестирование (2008)Юзабилити-тестирование (2008)
Юзабилити-тестирование (2008)Yaroslav Perevalov
 
Стажировка-2015. Тестирование. Занятие 1. Тест-кейсы.
Стажировка-2015. Тестирование. Занятие 1. Тест-кейсы.Стажировка-2015. Тестирование. Занятие 1. Тест-кейсы.
Стажировка-2015. Тестирование. Занятие 1. Тест-кейсы.7bits
 
тестирование программного обеспечения
тестирование программного обеспечениятестирование программного обеспечения
тестирование программного обеспеченияNatalia Zhelnova
 
XPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverXPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverИлья Кожухов
 
Как провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельноКак провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельноНетология
 

Andere mochten auch (14)

Automated testing
Automated testingAutomated testing
Automated testing
 
Ловушки тестирования производительности
Ловушки тестирования производительностиЛовушки тестирования производительности
Ловушки тестирования производительности
 
5 лекция. презентация
 5 лекция. презентация 5 лекция. презентация
5 лекция. презентация
 
2.1 Тестирование: основные определения
2.1 Тестирование: основные определения2.1 Тестирование: основные определения
2.1 Тестирование: основные определения
 
03 load testing
03   load testing03   load testing
03 load testing
 
автоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Seleniumавтоматизация тестирования с помощью Selenium
автоматизация тестирования с помощью Selenium
 
6 лекция. тестирование производительности
 6 лекция. тестирование производительности 6 лекция. тестирование производительности
6 лекция. тестирование производительности
 
Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)Тестирование ПО (лекция 1)
Тестирование ПО (лекция 1)
 
Нагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.ТанкаНагрузочное тестирование с помощью Яндекс.Танка
Нагрузочное тестирование с помощью Яндекс.Танка
 
Юзабилити-тестирование (2008)
Юзабилити-тестирование (2008)Юзабилити-тестирование (2008)
Юзабилити-тестирование (2008)
 
Стажировка-2015. Тестирование. Занятие 1. Тест-кейсы.
Стажировка-2015. Тестирование. Занятие 1. Тест-кейсы.Стажировка-2015. Тестирование. Занятие 1. Тест-кейсы.
Стажировка-2015. Тестирование. Занятие 1. Тест-кейсы.
 
тестирование программного обеспечения
тестирование программного обеспечениятестирование программного обеспечения
тестирование программного обеспечения
 
XPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriverXPath локаторы в Selenium WebDriver
XPath локаторы в Selenium WebDriver
 
Как провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельноКак провести юзабилити-тестирование самостоятельно
Как провести юзабилити-тестирование самостоятельно
 

Ähnlich wie Оптимизация производительности и нагрузочное тестирование в среде Visual Studio Team System 2010

Как легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облакеКак легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облакеTatiana Smetanina
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Alexander Novichkov
 
Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Anton Vidishchev
 
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...Герман Криммель
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCGetDev.NET
 
Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)Dmitry Lobasev
 
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...UNETA
 
Высокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureВысокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureAlexander Feschenko
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDaysLiloSEA
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetestingLiloSEA
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsLEDC 2016
 
Виртуализация критически важных приложений
Виртуализация критически важных приложенийВиртуализация критически важных приложений
Виртуализация критически важных приложенийJack Chikovany
 
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...WDDay
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NETVitaly Baum
 

Ähnlich wie Оптимизация производительности и нагрузочное тестирование в среде Visual Studio Team System 2010 (20)

Как легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облакеКак легко и быстро поднять стартап на облаке
Как легко и быстро поднять стартап на облаке
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)Tfs Overview And Architecture (www.cmcons.com)
Tfs Overview And Architecture (www.cmcons.com)
 
Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3Test Driven Development in ASP.NET MVC 3
Test Driven Development in ASP.NET MVC 3
 
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...
Диагностика проблем в рабочей среде при помощи IntelliTrace и Visual Studio 2...
 
Описание и архитектура TFS 2008
Описание и архитектура TFS 2008Описание и архитектура TFS 2008
Описание и архитектура TFS 2008
 
ASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVCASP.NET, MVC, ASP.NET MVC
ASP.NET, MVC, ASP.NET MVC
 
Silverlight 5
Silverlight 5Silverlight 5
Silverlight 5
 
Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)Виртуальные среды тестирования (ADD2010)
Виртуальные среды тестирования (ADD2010)
 
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
Высокопроизводительные приложения на базе Windows Azure. Пример реального про...
 
Высокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows AzureВысокопроизводительные приложения на базе Windows Azure
Высокопроизводительные приложения на базе Windows Azure
 
SQL Server Denali
SQL Server DenaliSQL Server Denali
SQL Server Denali
 
Simonova CSEDays
Simonova CSEDaysSimonova CSEDays
Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Katerina Simonova CSEDays
Katerina Simonova CSEDaysKaterina Simonova CSEDays
Katerina Simonova CSEDays
 
Simonova sql server-enginetesting
Simonova sql server-enginetestingSimonova sql server-enginetesting
Simonova sql server-enginetesting
 
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tipsКостянтин Чаус — Monitoring of huge Drupal site. Tools and tips
Костянтин Чаус — Monitoring of huge Drupal site. Tools and tips
 
Виртуализация критически важных приложений
Виртуализация критически важных приложенийВиртуализация критически важных приложений
Виртуализация критически важных приложений
 
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET»  O...
ВІТАЛІЙ ГОНЧАРУК «За допомогою чого пишуться серйозні веб додатки на .NET» O...
 
The Old New ASP.NET
The Old New ASP.NETThe Old New ASP.NET
The Old New ASP.NET
 

Mehr von Dmitry Andreev

Проактивное управление проектами в среде Microsoft Visual Studio 2010
Проактивное управление проектами в среде Microsoft Visual Studio 2010Проактивное управление проектами в среде Microsoft Visual Studio 2010
Проактивное управление проектами в среде Microsoft Visual Studio 2010Dmitry Andreev
 
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...Dmitry Andreev
 
Разработка, тестирование и развертывание баз данных в Visual Studio Team Syst...
Разработка, тестирование и развертывание баз данных в Visual Studio Team Syst...Разработка, тестирование и развертывание баз данных в Visual Studio Team Syst...
Разработка, тестирование и развертывание баз данных в Visual Studio Team Syst...Dmitry Andreev
 
Автоматизация процессов разработки. Нужно ли это, почему и какими средствами?
Автоматизация процессов разработки. Нужно ли это, почему и какими средствами?Автоматизация процессов разработки. Нужно ли это, почему и какими средствами?
Автоматизация процессов разработки. Нужно ли это, почему и какими средствами?Dmitry Andreev
 

Mehr von Dmitry Andreev (6)

directx
directxdirectx
directx
 
cv
cvcv
cv
 
Проактивное управление проектами в среде Microsoft Visual Studio 2010
Проактивное управление проектами в среде Microsoft Visual Studio 2010Проактивное управление проектами в среде Microsoft Visual Studio 2010
Проактивное управление проектами в среде Microsoft Visual Studio 2010
 
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
Как оценивать состояние проекта по разработке с помощью формальных метрик и о...
 
Разработка, тестирование и развертывание баз данных в Visual Studio Team Syst...
Разработка, тестирование и развертывание баз данных в Visual Studio Team Syst...Разработка, тестирование и развертывание баз данных в Visual Studio Team Syst...
Разработка, тестирование и развертывание баз данных в Visual Studio Team Syst...
 
Автоматизация процессов разработки. Нужно ли это, почему и какими средствами?
Автоматизация процессов разработки. Нужно ли это, почему и какими средствами?Автоматизация процессов разработки. Нужно ли это, почему и какими средствами?
Автоматизация процессов разработки. Нужно ли это, почему и какими средствами?
 

Оптимизация производительности и нагрузочное тестирование в среде Visual Studio Team System 2010

  • 1. Оптимизация производительности и нагрузочное тестирование в среде VisualStudio Team System 2010 Дмитрий Андреев dmitryan@microsoft.com witter:@dmandreev
  • 2. Содержание Анализ производительности Нагрузочное тестирование Конкурентный анализ
  • 4. Сложные вопросы Возможно, мое приложение использует слишком много ресурсов процессора? Возможно приложение потребляет много памяти? Возможно в приложении есть много лишних I/O операций? Возможно осуществляются ненужные обращения к базе данных?
  • 5.
  • 14. Продуктивность Новые суммарные и функциональные отчеты Интеграция с редактором кода «Только мой код» Правила и рекомендации Профайлинг в прогрессе
  • 15. Платформа и технологии Поддержка виртуализации Профайлинг слоев приложений ПрофайлингJavaScript Профайлинг конкурентных систем ПрофайлингHPC приложений
  • 16. Новые суммарные и детальные отчеты Отчеты как руководство к действию Графики производительности для выявления «бутылочных горлышек» приложения Поддержка Zoom для выявления деталей Визуализация стеков вызовов
  • 17. «Только мой код» Опциональная возможность для снижения «шумов» при анализе производительности Исключает точки анализа .NET Framrworkдля фокусирования только на коде приложения Разработчик может включить некоторые уровни .NET Framework для более гибкого анализа Вызовы на уровень вниз (из приложения в Framework) Вызовы в верх (из Framework в приложение)
  • 18. Правила и рекомендации Набор рекомендации по: поддержке оптимальной производительности Анализу (количество тестов) Возможность расширений
  • 19. 10 представлений профайлера Summary Call Tree Modules Caller/Callee Functions Lines Marks Processes Function Details IPs
  • 20.
  • 22. Основные сценарии Подготовка однопользовательского сценария Создание и запуск тестов оценки производительности Создание и отладка нагрузочных Web тестов Отчетность Фиксация проблем с использованием профайлера
  • 23. Возможности нагрузочных тестов Целевые тесты (Goal Based) Различные комбинации подтестов (Test Mix) Анализ всего спектра индикаторов производительности ОС Построение графиков для последующего анализа Подключение данных для контекстного взаимодействия тестов Сохранение результатов тестов Возможности расширения с помощью аддонов Подробности http://blog.dynatrace.com/2009/05/20/how-to-extend-visual-studio-2010-web-and-load-testing-with-transactional-tracing/
  • 24. Архитектура нагрузочного тестирования VSTS Test Controller Load Agent Load Agent Load Agent Load Agent Target Server Collector Agent ASP.NET Profiler
  • 25.
  • 26. Сетевая эмуляция Новый сетевой драйвер Ограничения пропускной способности Введение ошибок и задержек Сценарии Однопользовательские тесты Автоматическое тестирование
  • 27.
  • 28. Сетевая эмуляция вне среды Возможность подключать имитационный сетевой стек прямо в приложение Простые шаги Reference: %Program Files%icrosoft Visual Studio 10.0ommon7DErivateAssembliesataCollectors86serapi.dll Конфигурация из Application.Config <NetworkEmulationProfile name="3G" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010"> </NetworkEmulationProfile> Инициализировать «подмену» стека в Initialize Детали http://blogs.msdn.com/lkruger/archive/2009/06/24/creating-a-stand-alone-network-emulator-using-vs2010-beta-1-release.aspx
  • 29. Запись нагрузочных Web тестов Visual Studio Launches Internet Explorer RecorderListener Browser Recorder Wininet Recorder Merging Recorder Internet Explorer Visual Studio Recorder BHO Browser events Record events Browser Control Wininet Shim Record events Wininet Record events Intercepts wininet calls
  • 30. АддонIE для записи тестов WebTestRecorderPlugins Visual Studio Launches Internet Explorer RecorderListener Browser Recorder Wininet Recorder Merging Recorder Internet Explorer Visual Studio Recorder BHO Browser events Recorded Web Test Record events Browser Control Wininet Shim Recorder Result Wininet Record events Intercept s wininet calls Record events
  • 31.
  • 33. Анализ производительности параллельных систем Многоядерные системы доминируют на рынке Разработчикам необходимо разрабатывать эффективные приложения под такие системы Проблемы Параллельное программирование сложно Множество путей решения, нет устоявшихся практик Visual Studio включает несколько средств PPL/ConcRT, TPL, PLINQ, средства отладки и оценки производительности
  • 34. Далее о проблемах Тюнинг производительности параллельных систем Новые «проблемные области» и нюансы Это не новая проблема. Но она усложнена параллельностью
  • 35. Новые средства Традиционные средства требуют улучшений и новых подходов Временные отношения Взаимодействия с ОС, библиотеками, I/O Визуализация очень важна Фокус на параллельном исполнении Основные цели Улучшение продуктивности при параллельной разработке Поддержка native и managed кода 32/64 Vista/Windows7/Server 2008
  • 36. Визуализатор конкуренций Новое средство в IDE (Premium & Ultimate) Не требует инструментальной предварительной обработки исполняемых файлов Низкий порог нагрузки (меньше интерференции) Другие средства VS2010 Concurrency Resource Contention Tool (поддержка Windows XP) Windows Performance Toolkit Xperf, GPUView
  • 37. Основные возможности Анализ конкурентных состояний Анализ блокировок тредов Анализ миграций тредов и нагрузки на ядра процессора Анализ зависимостей между тредами Анализ производительности по образцу (sample based)
  • 38. Представление процессорной нагрузки (CPU Utilization) Изучение или подтверждение сценария конкуренции Тюнинг или поиск возможностей для параллельного выполнения Понимание ситуации совместной работы с соседними процессами Входная точка для более детального анализа
  • 39.
  • 40. Анализ блокирования тредов Какой тред выполняет операции и почему Запущен: профайлинг Заблокирован:почему Предоставление данных для действий Позволяет пользователю зафиксировать проблемы Агрегация стоимостей блогирующих стеков вызовов Много возможностей для упрощения работы Фильтрация по тредам, времени, типу блокирования
  • 41.
  • 42. Миграция тредов Назначение: Информировать о том как треды физически исполняются на конкретных ядрах процессора Выделить ситуации массированной миграции тредов Проверка влияния параметров thread affinity Определение регионов «интересов» Там где треды демонстрируют «плохое поведение» Временные регионы Представления блокирования для последуюшего анализа
  • 43.
  • 44.
  • 45. Зависимости между тредами Назначение Позволяет разработчикам понять ситуации блокирования и зависимостей между тредами, вводя понятия «блокировщика» и «блокируемого» Предоставление возможностей для разрешения конфликтов Анализ зависимостей длинных цепей
  • 46. Профайлинг по образцу Назначение: Предоставление возможностей по анализу кода нагружающего процессор Понимание того, в каком порядке выполняется целевая работа (при сложных параллельных сценариях)
  • 47. Поддержка визуальных маркеров фаз Назначение: Механизм корреляции визуализации с фазами приложения Точный тайминг Достигается простым вызовом методов специального API Подробности http://code.msdn.microsoft.com/Scenario
  • 48.
  • 49. Заключение Возможности Visual Studio Team System 2010 позволяют уделять пристальное внимание вопросам производительности «из коробки». Единые интегрированные средства профайлинга, взаимодействия слоев приложения, нагрузочного тестирования и конкурентного анализа. Быстрые результаты повышающие качество разрабатываемых систем.
  • 50. Ссылки Windows Performance Analysis Center http://msdn.microsoft.com/en-us/performance/default.aspx Visual Studio Profiler Team Blog http://blogs.msdn.com/profiler/ Maxim Goldin’s Blog: http://blogs.msdn.com/mgoldin/ Parallel Computing VS2010 http://msdn.microsoft.com/concurrency Concurrency Visualizer in VS2010 http://msdn.microsoft.com/hshafi http://msdn.microsoft.com/visualizeparallel Scenario Markers: http://code.msdn.microsoft.com/Scenario/Wiki/View.aspx?title=API&referringTitle=Home

Hinweis der Redaktion

  1. The Instruction Pointers view enables you to see specific instructions that are executed during sampling profiling.
  2. Summary ReportFunctiona details ReportTier Interaction ProfilingJscript ProfilingEditor Integration
  3. Load Agent – Отдельный устанавливаемый компонент (дистрибутив)
  4. Summary ReportFunctiona details ReportTier Interaction ProfilingJscript ProfilingEditor Integration
  5. Summary ReportFunctiona details ReportTier Interaction ProfilingJscript ProfilingEditor Integration
  6. Summary ReportFunctiona details ReportTier Interaction ProfilingJscript ProfilingEditor Integration