SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

Ара Исраелян "Как ускорить разработку приложений"
Ара Исраелян "Как ускорить разработку приложений"Ара Исраелян "Как ускорить разработку приложений"
Ара Исраелян "Как ускорить разработку приложений"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
 

Mais procurados (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
 

Destaque

Eindejaarsactualiteiten 2010 Schaap & Van Dijk
Eindejaarsactualiteiten 2010 Schaap & Van DijkEindejaarsactualiteiten 2010 Schaap & Van Dijk
Eindejaarsactualiteiten 2010 Schaap & Van DijkJong Ondernemen
 
Marketing plan paayas
Marketing plan paayasMarketing plan paayas
Marketing plan paayasjudithpaayas
 
Press release uflex eyes $ 2bln revenue
Press release uflex eyes $ 2bln revenuePress release uflex eyes $ 2bln revenue
Press release uflex eyes $ 2bln revenueUflex Ltd.
 
CirclePorsche.org_AAA Traffic Safety Index
CirclePorsche.org_AAA Traffic Safety IndexCirclePorsche.org_AAA Traffic Safety Index
CirclePorsche.org_AAA Traffic Safety IndexCircle Porsche
 
IBC 2010 press conference
IBC 2010 press conferenceIBC 2010 press conference
IBC 2010 press conferenceQuantel
 

Destaque (7)

Eindejaarsactualiteiten 2010 Schaap & Van Dijk
Eindejaarsactualiteiten 2010 Schaap & Van DijkEindejaarsactualiteiten 2010 Schaap & Van Dijk
Eindejaarsactualiteiten 2010 Schaap & Van Dijk
 
Marketing plan paayas
Marketing plan paayasMarketing plan paayas
Marketing plan paayas
 
Press release uflex eyes $ 2bln revenue
Press release uflex eyes $ 2bln revenuePress release uflex eyes $ 2bln revenue
Press release uflex eyes $ 2bln revenue
 
CirclePorsche.org_AAA Traffic Safety Index
CirclePorsche.org_AAA Traffic Safety IndexCirclePorsche.org_AAA Traffic Safety Index
CirclePorsche.org_AAA Traffic Safety Index
 
Road Blueprint
Road BlueprintRoad Blueprint
Road Blueprint
 
Post event docket kuwait 2011
Post event docket kuwait 2011Post event docket kuwait 2011
Post event docket kuwait 2011
 
IBC 2010 press conference
IBC 2010 press conferenceIBC 2010 press conference
IBC 2010 press conference
 

Semelhante a Высокопроизводительные приложения на базе 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 инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовSQALab
 
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
 
Presentation_ppt
Presentation_pptPresentation_ppt
Presentation_pptVasayXTX
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime community
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime Community
 

Semelhante a Высокопроизводительные приложения на базе 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 инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментовРеализация тестового фреймворка на основе OPEN-SOURCE инструментов
Реализация тестового фреймворка на основе OPEN-SOURCE инструментов
 
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
 
Presentation_ppt
Presentation_pptPresentation_ppt
Presentation_ppt
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 

Mais de Alexander Feschenko

Microsoft Azure. Troubleshooting and monitoring.
Microsoft Azure. Troubleshooting and monitoring.Microsoft Azure. Troubleshooting and monitoring.
Microsoft Azure. Troubleshooting and monitoring.Alexander Feschenko
 
Azure Powershell. Azure Automation
Azure Powershell. Azure AutomationAzure Powershell. Azure Automation
Azure Powershell. Azure AutomationAlexander Feschenko
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Alexander Feschenko
 
Automating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAutomating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAlexander Feschenko
 
Introduction to Windows Azure IaaS
Introduction to Windows Azure IaaSIntroduction to Windows Azure IaaS
Introduction to Windows Azure IaaSAlexander Feschenko
 
Windows Azure. Scaling, Caching and Performance
Windows Azure. Scaling, Caching and PerformanceWindows Azure. Scaling, Caching and Performance
Windows Azure. Scaling, Caching and PerformanceAlexander Feschenko
 
Windows Azure Security and Diagnostics
Windows Azure Security and DiagnosticsWindows Azure Security and Diagnostics
Windows Azure Security and DiagnosticsAlexander Feschenko
 
Windows Azure Overview and Application Lifecycle
Windows Azure Overview and Application LifecycleWindows Azure Overview and Application Lifecycle
Windows Azure Overview and Application LifecycleAlexander Feschenko
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureAlexander Feschenko
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureAlexander Feschenko
 
Продвинутая web-отладка с Fiddler
Продвинутая web-отладка с FiddlerПродвинутая web-отладка с Fiddler
Продвинутая web-отладка с FiddlerAlexander Feschenko
 

Mais de Alexander Feschenko (15)

Azure Container Service
Azure Container ServiceAzure Container Service
Azure Container Service
 
Microsoft Azure Automation
Microsoft Azure AutomationMicrosoft Azure Automation
Microsoft Azure Automation
 
Microsoft Azure. Troubleshooting and monitoring.
Microsoft Azure. Troubleshooting and monitoring.Microsoft Azure. Troubleshooting and monitoring.
Microsoft Azure. Troubleshooting and monitoring.
 
Azure Powershell. Azure Automation
Azure Powershell. Azure AutomationAzure Powershell. Azure Automation
Azure Powershell. Azure Automation
 
Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.Azure App Service Architecture. Web Apps.
Azure App Service Architecture. Web Apps.
 
Automating Azure VMs with PowerShell
Automating Azure VMs with PowerShellAutomating Azure VMs with PowerShell
Automating Azure VMs with PowerShell
 
Introduction to Windows Azure IaaS
Introduction to Windows Azure IaaSIntroduction to Windows Azure IaaS
Introduction to Windows Azure IaaS
 
Windows Azure. Scaling, Caching and Performance
Windows Azure. Scaling, Caching and PerformanceWindows Azure. Scaling, Caching and Performance
Windows Azure. Scaling, Caching and Performance
 
Windows Azure Security and Diagnostics
Windows Azure Security and DiagnosticsWindows Azure Security and Diagnostics
Windows Azure Security and Diagnostics
 
Windows Azure Storage
Windows Azure StorageWindows Azure Storage
Windows Azure Storage
 
Windows Azure Overview and Application Lifecycle
Windows Azure Overview and Application LifecycleWindows Azure Overview and Application Lifecycle
Windows Azure Overview and Application Lifecycle
 
Developer Days 2011, Kharkov
Developer Days 2011, KharkovDeveloper Days 2011, Kharkov
Developer Days 2011, Kharkov
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
 
Продвинутая web-отладка с Fiddler
Продвинутая web-отладка с FiddlerПродвинутая web-отладка с Fiddler
Продвинутая web-отладка с Fiddler
 

Высокопроизводительные приложения на базе 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