Your SlideShare is downloading. ×
Высокопроизводительные приложения на базе Windows Azure
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

1,224

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,224
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Высокопроизводительные приложения на базе WindowsAzure. Пример реального проекта. @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. Возможности. Понятный Скорость Визуализаци результат анализа я объектов работы Нахождение Широкие источника средства проблемы фильтрации
  • 7. Оптимизация. Распределенное кеширование Хранилище данных Кеш Web App
  • 8. Какой механизм использовать ?Windows Скорость Меньшая Тесная разворачиванAzure стоимость интеграция ияCachingService Более Более Ограничение высокая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 Сервисы DatabaseEF 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 и SOAWCF 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

×