SlideShare a Scribd company logo
1 of 23
Высокопроизводительные
  приложения на базе Windows
Azure. Пример реального проекта.




                    @feschenkoalex
                    Windows Azure MVP
                    http://feschenkoalex.blogspot.com
Проект sqlserverlaunch.com

Проблемы:
                                         Ожидаемый пик
 Сайт работает очень медленно           пользователей
 Непонятно как поведет себя система
  при стрессовой нагрузке
 До запуска остается совсем немного
  времени
                                         10000
 Переписать проект с нуля нет
  возможности
                                       Официальный запуск


                                       SQL Server
                                         2012
Немного о проекте
                                  Архитектура



                                  SOA
                                   Основная
                                  технология
            Frontend

                                  ASP.N
                                   ET

  Backend

                       Database
Методология

               Профилирование




                                              Scaling Capability



 Нагрузочное
                                Оптимизация
тестирование
Профилирование.Red Gate Memory Profiler

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




    Позволяет:

     Находить утечки памяти в считанные минуты
     Оптимизировать исходный код, неправильно использующий
      память
     Создавать более производительные приложения,
      рационально использующие ресурсы
Red Gate Memory Profiler. Возможности.

   Понятный
                            Скорость            Визуализаци
   результат
                            анализа              я объектов
    работы




               Нахождение               Широкие
                источника               средства
                проблемы               фильтрации
Оптимизация. Распределенное кеширование




                            Хранилище данных
                      Кеш

            Web App
Какой механизм использовать ?


Windows                                 Скорость
            Меньшая       Тесная
                                      разворачиван
Azure       стоимость   интеграция
                                           ия
Caching
Service


                                         Более
              Более     Ограничение
                                        высокая
Memcached    высокая     на размер
                                      производител
            стоимость     объекта
                                         ьность
Windows Azure Caching Service. Особенности

Производительност
                            Масштабируемость            Простота
        ь


                                                 •   Провайдеры
•   Данные хранятся     •    Снижение нагрузки       ASP.NET / API
    поблизости               на бд
                                                 •   Простое
•   Локальное           •    Простое                 управление и
    кеширование              масштабирование         разворачивание

•   Любой .NET объект                            •   Эластичный
                                                     размер
Кеширование разметки.


                  1h
                       Клиенты
  Worker Role                                           index,
                                                        agenda,
                                                        keynote…

                                 Not cached               Cached

                                 index,
                                 agenda,
                                 keynote…
                                              Web App




   Blob Storage
Оптимизация кода.

    ORM             Сервисы             Database

EF Context          WCF Proxy           SP Tuning

Создание            Создание WCF-       Хранимые
контекста           прокси              процедуры
ресурсоемкая        ресурсоемкая        выполняются
операция.           операция.           медленно.
Решение: Один       Решение: Пул        Решение:
инстанс EF-         прокси объектов     Создание доп.
контекста на один   (*ChannelFactory)   индексов,
HTTP-запрос                             оптимизация
                                        планов
                                        выполнения…..
Нагрузочное тестирование. Проблема.

1) Проблема не воспроизводится
2) Сайт прекрасно работает на девелоперской машине
3) Вы не представляете что за ошибка
4) Предположение: сайт «умирает» во время нагрузки
5) Необходимо создать определенную нагрузку для
   выявления проблемы
Нагрузочное тестирование. Visual Studio.


     Visual      • Web Performance
                   Tests
     Studio      • Load Tests
     Ultimate    • Load Test Rigs


     Visual
                 • Profiling Tools
     Studio      • Performance Wizard
     Premium
Нагрузочное тестирование. План.
      Сохранить пользовательскую активность при
            помощи Web Performance Test


      Имитировать нагрузку при помощи Load Tests

    Имитировать большое количество пользователей
              при помощи Load Test Rig

                Воспроизвести ошибки


              Найти проблемы с кодом


                   Исправить код
Web Performance Test.
 Один из видов тестов в Visual Studio 2010 Ultimate

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

 Должны эмулировать User Story

 Например
   Как администратор я хочу иметь возможность искать
   пользователей по логину и деактивировать их аккаунты
   Как пользователь я хочу иметь возможность заказывать
   пиццу и расплачиваться кредитной картой
Нагрузочное тестирование. VS Load Test.

  Микс Web Performance и Unit тестов
  Эмуляция активности нескольких пользователей,
  выполняющих определенный набор операций

  Эмуляция скорости передачи данных

  Эмуляция различных браузеров
  Гибкая настройка количества виртуальных
  пользователей и механизма их добавления во время
  теста
Зачем Unit-тест в Load-тесте ?
  Удобно для тестирования WCF

  Важно для Silverlight и SOA




WCF Load Test                   SQL Load Test
2 способа запуска нагрузочных тестов




   VS 2010                    Test Rig
                           • Более правдоподобная
 • Используется только 1     нагрузка
   CPU
                           • Эмуляция большего
 • Лимит в 250               количества
   виртуальных               пользователей
   пользователей
Лицензия на дополнительных пользователей
    Microsoft Visual Studio Team System 2010 Test Load
    Virtual User Pack
    Эмуляция до 1000 виртуальных пользователей
Нагрузочное тестирование. Test Rig.

                           Координиро
Контроллер                   вание и     Генерация
                                                     Приложение
                              сбор        нагрузки
 Управление                результатов
 Лицензирование
 Perfmon счетчики
                                          Агент 1
                                                     Веб сервер
Агент (1…n)
 Симуляция пользователей   Контроллер     Агент 2
                                                        База
                                                       данных
                                          Агент n
VS Load Test Framework




                         DEMO
Windows Azure Scaling.

      sqlserverlaunch.com

   Frontend              Backend
      Medium              Large

      50                  70
Спасибо за внимание
         !


       @feschenkoalex
       Windows Azure MVP
       http://feschenkoalex.blogspot.com

More Related Content

What's hot

Ара Исраелян "Как ускорить разработку приложений"
Ара Исраелян "Как ускорить разработку приложений"Ара Исраелян "Как ускорить разработку приложений"
Ара Исраелян "Как ускорить разработку приложений"IT Event
 
VMware vSAN как платформа для высоконагруженных критичных для бизнеса приложений
VMware vSAN как платформа для высоконагруженных критичных для бизнеса приложенийVMware vSAN как платформа для высоконагруженных критичных для бизнеса приложений
VMware vSAN как платформа для высоконагруженных критичных для бизнеса приложенийDe Novo
 
HPI: Расширенные возможности и модели использования
HPI: Расширенные возможности и модели использованияHPI: Расширенные возможности и модели использования
HPI: Расширенные возможности и модели использованияDe Novo
 
Hosted Private Infrastructure. Новая модель ИТ-инфраструктуры
Hosted Private Infrastructure. Новая модель ИТ-инфраструктурыHosted Private Infrastructure. Новая модель ИТ-инфраструктуры
Hosted Private Infrastructure. Новая модель ИТ-инфраструктурыDe Novo
 
Виртуализация для среднего и малого бизнеса: от бесплатных решений к большой ...
Виртуализация для среднего и малого бизнеса: от бесплатных решений к большой ...Виртуализация для среднего и малого бизнеса: от бесплатных решений к большой ...
Виртуализация для среднего и малого бизнеса: от бесплатных решений к большой ...areconster
 
Миграции информационной инфраструктуры бизнес-приложений в облако
Миграции информационной инфраструктуры бизнес-приложений в облакоМиграции информационной инфраструктуры бизнес-приложений в облако
Миграции информационной инфраструктуры бизнес-приложений в облакоNatalia Efimtseva
 
Среда разработки. Путь от ПК к докеру
Среда разработки. Путь от ПК к докеруСреда разработки. Путь от ПК к докеру
Среда разработки. Путь от ПК к докеруDmitry Morozov
 
Эволюция виртуализации с компанией VMware. Виктор Владимиров. VMware
Эволюция виртуализации с компанией VMware. Виктор Владимиров. VMwareЭволюция виртуализации с компанией VMware. Виктор Владимиров. VMware
Эволюция виртуализации с компанией VMware. Виктор Владимиров. VMwareFujitsu Russia
 
McAfee - Optimized Solutions for Cloud Security
McAfee - Optimized Solutions for Cloud SecurityMcAfee - Optimized Solutions for Cloud Security
McAfee - Optimized Solutions for Cloud SecurityVladyslav Radetsky
 
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...Cisco Russia
 
XS6, XA6.5, XD 5.5 main features overview.
XS6, XA6.5, XD 5.5 main features overview.XS6, XA6.5, XD 5.5 main features overview.
XS6, XA6.5, XD 5.5 main features overview.Yevgeniy Zossimov
 
VMware on IBM Cloud - Webinar (russian)
VMware on IBM Cloud - Webinar (russian)VMware on IBM Cloud - Webinar (russian)
VMware on IBM Cloud - Webinar (russian)Artem Medvedev
 
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...IT Event
 
ITR - Виртуализация VMware
ITR - Виртуализация VMwareITR - Виртуализация VMware
ITR - Виртуализация VMwareSergey Polazhenko
 
Повышение производительности бизнес-приложений
Повышение производительности бизнес-приложенийПовышение производительности бизнес-приложений
Повышение производительности бизнес-приложенийКРОК
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПОDmitry Lazarenko
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Ontico
 

What's hot (20)

Ара Исраелян "Как ускорить разработку приложений"
Ара Исраелян "Как ускорить разработку приложений"Ара Исраелян "Как ускорить разработку приложений"
Ара Исраелян "Как ускорить разработку приложений"
 
CQRS innovations
CQRS innovationsCQRS innovations
CQRS innovations
 
VMware vSAN как платформа для высоконагруженных критичных для бизнеса приложений
VMware vSAN как платформа для высоконагруженных критичных для бизнеса приложенийVMware vSAN как платформа для высоконагруженных критичных для бизнеса приложений
VMware vSAN как платформа для высоконагруженных критичных для бизнеса приложений
 
HPI: Расширенные возможности и модели использования
HPI: Расширенные возможности и модели использованияHPI: Расширенные возможности и модели использования
HPI: Расширенные возможности и модели использования
 
Hosted Private Infrastructure. Новая модель ИТ-инфраструктуры
Hosted Private Infrastructure. Новая модель ИТ-инфраструктурыHosted Private Infrastructure. Новая модель ИТ-инфраструктуры
Hosted Private Infrastructure. Новая модель ИТ-инфраструктуры
 
Виртуализация для среднего и малого бизнеса: от бесплатных решений к большой ...
Виртуализация для среднего и малого бизнеса: от бесплатных решений к большой ...Виртуализация для среднего и малого бизнеса: от бесплатных решений к большой ...
Виртуализация для среднего и малого бизнеса: от бесплатных решений к большой ...
 
Миграции информационной инфраструктуры бизнес-приложений в облако
Миграции информационной инфраструктуры бизнес-приложений в облакоМиграции информационной инфраструктуры бизнес-приложений в облако
Миграции информационной инфраструктуры бизнес-приложений в облако
 
Среда разработки. Путь от ПК к докеру
Среда разработки. Путь от ПК к докеруСреда разработки. Путь от ПК к докеру
Среда разработки. Путь от ПК к докеру
 
Эволюция виртуализации с компанией VMware. Виктор Владимиров. VMware
Эволюция виртуализации с компанией VMware. Виктор Владимиров. VMwareЭволюция виртуализации с компанией VMware. Виктор Владимиров. VMware
Эволюция виртуализации с компанией VMware. Виктор Владимиров. VMware
 
McAfee - Optimized Solutions for Cloud Security
McAfee - Optimized Solutions for Cloud SecurityMcAfee - Optimized Solutions for Cloud Security
McAfee - Optimized Solutions for Cloud Security
 
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
Программные интерфейсы управления (API) архитектурой, ориентированной на прил...
 
XS6, XA6.5, XD 5.5 main features overview.
XS6, XA6.5, XD 5.5 main features overview.XS6, XA6.5, XD 5.5 main features overview.
XS6, XA6.5, XD 5.5 main features overview.
 
VMware on IBM Cloud - Webinar (russian)
VMware on IBM Cloud - Webinar (russian)VMware on IBM Cloud - Webinar (russian)
VMware on IBM Cloud - Webinar (russian)
 
Что нового в 11.0?
Что нового в 11.0?Что нового в 11.0?
Что нового в 11.0?
 
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
Александр Сычев "Статика и динамика. Как фреймворки помогут прокачать ваше пр...
 
ITR - Виртуализация VMware
ITR - Виртуализация VMwareITR - Виртуализация VMware
ITR - Виртуализация VMware
 
Повышение производительности бизнес-приложений
Повышение производительности бизнес-приложенийПовышение производительности бизнес-приложений
Повышение производительности бизнес-приложений
 
Jelastic для разработчиков ПО
Jelastic для разработчиков ПОJelastic для разработчиков ПО
Jelastic для разработчиков ПО
 
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
Проектируем облачный веб-сервис "по-взрослому" (Сергей Рыжиков)
 
System Center 2012 Operations Manager + SP1
System Center 2012 Operations Manager + SP1 System Center 2012 Operations Manager + SP1
System Center 2012 Operations Manager + SP1
 

Viewers also liked

Введение в облачные сервисы
Введение в облачные сервисыВведение в облачные сервисы
Введение в облачные сервисыAndrey Veselov
 
Решения Oracle для Big Data
Решения Oracle для Big DataРешения Oracle для Big Data
Решения Oracle для Big DataAndrey Akulov
 
PowerBI — новые возможности анализа данных в облаке
PowerBI — новые возможности анализа данных в облакеPowerBI — новые возможности анализа данных в облаке
PowerBI — новые возможности анализа данных в облакеStas Vyschepan
 
Microsoft Azure in 5 minutes
Microsoft Azure in 5 minutesMicrosoft Azure in 5 minutes
Microsoft Azure in 5 minutesBrian Blanchard
 
Презентация MS Azure
Презентация MS AzureПрезентация MS Azure
Презентация MS AzureDmitry Moskvin
 

Viewers also liked (7)

Введение в облачные сервисы
Введение в облачные сервисыВведение в облачные сервисы
Введение в облачные сервисы
 
Решения Oracle для Big Data
Решения Oracle для Big DataРешения Oracle для Big Data
Решения Oracle для Big Data
 
Azure training
Azure trainingAzure training
Azure training
 
Фрилансероз мозга
Фрилансероз мозгаФрилансероз мозга
Фрилансероз мозга
 
PowerBI — новые возможности анализа данных в облаке
PowerBI — новые возможности анализа данных в облакеPowerBI — новые возможности анализа данных в облаке
PowerBI — новые возможности анализа данных в облаке
 
Microsoft Azure in 5 minutes
Microsoft Azure in 5 minutesMicrosoft Azure in 5 minutes
Microsoft Azure in 5 minutes
 
Презентация MS Azure
Презентация MS AzureПрезентация MS Azure
Презентация MS Azure
 

Similar to Высокопроизводительные приложения на базе Windows Azure. Пример реального проекта

Windows azure общий обзор
Windows azure общий обзорWindows azure общий обзор
Windows azure общий обзорMicrosoft
 
Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Александр Шамрай
 
Миграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows AzureМиграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows AzureNatalia Efimtseva
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 
технологические сценарии Windows azure
технологические сценарии Windows azureтехнологические сценарии Windows azure
технологические сценарии Windows azureExpolink
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"Fwdays
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"MskDotNet Community
 
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Andrey Akulov
 
vi stories: миграция на .NET Core
vi stories: миграция на .NET Corevi stories: миграция на .NET Core
vi stories: миграция на .NET CoreAndrew Gubskiy
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Ontico
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesAliaksandr Ikhelis
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
Presentation_ppt
Presentation_pptPresentation_ppt
Presentation_pptVasayXTX
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime Community
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime community
 

Similar to Высокопроизводительные приложения на базе Windows Azure. Пример реального проекта (20)

Windows azure общий обзор
Windows azure общий обзорWindows azure общий обзор
Windows azure общий обзор
 
Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012Разработка по с использованием Tfs 2012
Разработка по с использованием Tfs 2012
 
Windows Azure Internals
Windows Azure InternalsWindows Azure Internals
Windows Azure Internals
 
Миграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows AzureМиграция существующих приложений в Windows Azure
Миграция существующих приложений в Windows Azure
 
IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
технологические сценарии Windows azure
технологические сценарии Windows azureтехнологические сценарии Windows azure
технологические сценарии Windows azure
 
Обзор и архитектура MS Team System
Обзор и архитектура MS Team SystemОбзор и архитектура MS Team System
Обзор и архитектура MS Team System
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере" Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
Даниил Соколюк "ReactJS.NET — опыт рендеринга на сервере"
 
HTML5 WebSockets and WebWorkers
HTML5 WebSockets and WebWorkersHTML5 WebSockets and WebWorkers
HTML5 WebSockets and WebWorkers
 
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
Повышение эффективности Java приложений (новые возможности Web Logic 12c, кон...
 
Diplom 1
Diplom 1Diplom 1
Diplom 1
 
vi stories: миграция на .NET Core
vi stories: миграция на .NET Corevi stories: миграция на .NET Core
vi stories: миграция на .NET Core
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
 
Bitrix24 (DevConf)
Bitrix24 (DevConf)Bitrix24 (DevConf)
Bitrix24 (DevConf)
 
Open Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practicesOpen Source Testing Framework: real project example and best practices
Open Source Testing Framework: real project example and best practices
 
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
Presentation_ppt
Presentation_pptPresentation_ppt
Presentation_ppt
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 

More from UNETA

18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
18/03/2016 UNETA Spring! Vitaliy Livnov - Communications ProtocolsUNETA
 
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEWUneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEWUNETA
 
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?UNETA
 
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.UNETA
 
Система анализа уязвимостей программных продуктов
Система анализа уязвимостей программных продуктовСистема анализа уязвимостей программных продуктов
Система анализа уязвимостей программных продуктовUNETA
 
SQL Rally 2012 - масштабируемость SQL Server и SQL Azure
SQL Rally 2012 - масштабируемость SQL Server и SQL AzureSQL Rally 2012 - масштабируемость SQL Server и SQL Azure
SQL Rally 2012 - масштабируемость SQL Server и SQL AzureUNETA
 
Gamification
GamificationGamification
GamificationUNETA
 
Преимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBПреимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBUNETA
 

More from UNETA (8)

18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
18/03/2016 UNETA Spring! Vitaliy Livnov - Communications Protocols
 
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEWUneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
Uneta 17.04.15 Aalifirenko - ASP .NET 5 WHATs NEW
 
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
 
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
Uneta 17.04.15 Dekhtiar - Entity framework 7 and co.
 
Система анализа уязвимостей программных продуктов
Система анализа уязвимостей программных продуктовСистема анализа уязвимостей программных продуктов
Система анализа уязвимостей программных продуктов
 
SQL Rally 2012 - масштабируемость SQL Server и SQL Azure
SQL Rally 2012 - масштабируемость SQL Server и SQL AzureSQL Rally 2012 - масштабируемость SQL Server и SQL Azure
SQL Rally 2012 - масштабируемость SQL Server и SQL Azure
 
Gamification
GamificationGamification
Gamification
 
Преимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDBПреимущества NoSQL баз данных на примере MongoDB
Преимущества NoSQL баз данных на примере MongoDB
 

Высокопроизводительные приложения на базе Windows Azure. Пример реального проекта

  • 1. Высокопроизводительные приложения на базе Windows Azure. Пример реального проекта. @feschenkoalex Windows Azure MVP http://feschenkoalex.blogspot.com
  • 2. Проект sqlserverlaunch.com Проблемы: Ожидаемый пик  Сайт работает очень медленно пользователей  Непонятно как поведет себя система при стрессовой нагрузке  До запуска остается совсем немного времени 10000  Переписать проект с нуля нет возможности Официальный запуск SQL Server 2012
  • 3. Немного о проекте Архитектура SOA Основная технология Frontend ASP.N ET Backend Database
  • 4. Методология Профилирование Scaling Capability Нагрузочное Оптимизация тестирование
  • 5. Профилирование.Red Gate Memory Profiler Программный комплекс, предназначенный для поиска утечек памяти в ваших приложениях Позволяет:  Находить утечки памяти в считанные минуты  Оптимизировать исходный код, неправильно использующий память  Создавать более производительные приложения, рационально использующие ресурсы
  • 6. Red Gate Memory Profiler. Возможности. Понятный Скорость Визуализаци результат анализа я объектов работы Нахождение Широкие источника средства проблемы фильтрации
  • 8. Какой механизм использовать ? Windows Скорость Меньшая Тесная разворачиван Azure стоимость интеграция ия Caching Service Более Более Ограничение высокая Memcached высокая на размер производител стоимость объекта ьность
  • 9. Windows Azure Caching Service. Особенности Производительност Масштабируемость Простота ь • Провайдеры • Данные хранятся • Снижение нагрузки ASP.NET / API поблизости на бд • Простое • Локальное • Простое управление и кеширование масштабирование разворачивание • Любой .NET объект • Эластичный размер
  • 10. Кеширование разметки. 1h Клиенты Worker Role index, agenda, keynote… Not cached Cached index, agenda, keynote… Web App Blob Storage
  • 11. Оптимизация кода. ORM Сервисы Database EF Context WCF Proxy SP Tuning Создание Создание WCF- Хранимые контекста прокси процедуры ресурсоемкая ресурсоемкая выполняются операция. операция. медленно. Решение: Один Решение: Пул Решение: инстанс EF- прокси объектов Создание доп. контекста на один (*ChannelFactory) индексов, HTTP-запрос оптимизация планов выполнения…..
  • 12. Нагрузочное тестирование. Проблема. 1) Проблема не воспроизводится 2) Сайт прекрасно работает на девелоперской машине 3) Вы не представляете что за ошибка 4) Предположение: сайт «умирает» во время нагрузки 5) Необходимо создать определенную нагрузку для выявления проблемы
  • 13. Нагрузочное тестирование. Visual Studio. Visual • Web Performance Tests Studio • Load Tests Ultimate • Load Test Rigs Visual • Profiling Tools Studio • Performance Wizard Premium
  • 14. Нагрузочное тестирование. План. Сохранить пользовательскую активность при помощи Web Performance Test Имитировать нагрузку при помощи Load Tests Имитировать большое количество пользователей при помощи Load Test Rig Воспроизвести ошибки Найти проблемы с кодом Исправить код
  • 15. Web Performance Test. Один из видов тестов в Visual Studio 2010 Ultimate Составная часть нагрузочных тестов Должны эмулировать User Story Например Как администратор я хочу иметь возможность искать пользователей по логину и деактивировать их аккаунты Как пользователь я хочу иметь возможность заказывать пиццу и расплачиваться кредитной картой
  • 16. Нагрузочное тестирование. VS Load Test. Микс Web Performance и Unit тестов Эмуляция активности нескольких пользователей, выполняющих определенный набор операций Эмуляция скорости передачи данных Эмуляция различных браузеров Гибкая настройка количества виртуальных пользователей и механизма их добавления во время теста
  • 17. Зачем Unit-тест в Load-тесте ? Удобно для тестирования WCF Важно для Silverlight и SOA WCF Load Test SQL Load Test
  • 18. 2 способа запуска нагрузочных тестов VS 2010 Test Rig • Более правдоподобная • Используется только 1 нагрузка CPU • Эмуляция большего • Лимит в 250 количества виртуальных пользователей пользователей
  • 19. Лицензия на дополнительных пользователей Microsoft Visual Studio Team System 2010 Test Load Virtual User Pack Эмуляция до 1000 виртуальных пользователей
  • 20. Нагрузочное тестирование. Test Rig. Координиро Контроллер вание и Генерация Приложение сбор нагрузки Управление результатов Лицензирование Perfmon счетчики Агент 1 Веб сервер Агент (1…n) Симуляция пользователей Контроллер Агент 2 База данных Агент n
  • 21. VS Load Test Framework DEMO
  • 22. Windows Azure Scaling. sqlserverlaunch.com Frontend Backend Medium Large 50 70
  • 23. Спасибо за внимание ! @feschenkoalex Windows Azure MVP http://feschenkoalex.blogspot.com