15 миллионов страниц в сутки. Результаты нагрузочного тестирования .NET Forge CMS в облаке Windows Azure и на Windows Server

в 7:31, , рубрики: cms, windows azure, Windows Server, Блог компании Microsoft, высокая производительность, Облачные вычисления, облачные сервисы, метки: , , , ,

15 миллионов страниц в сутки. Результаты нагрузочного тестирования .NET Forge CMS в облаке Windows Azure и на Windows Server

Интересные результаты получены при нагрузочном тестировании системы управления контентом .NET Forge CMS в облачном окружении Windows Azure и на серверах Windows Server. Подготовку методики тестирования, проведение нагрузочных тестов и анализ данных проводила компания «ГАЛС Софт» на оборудовании хостинг-провайдера Infobox. Тестирование проходило при участии российского отделения Microsoft.

В тестировании исследовались возможности следующих редакций .NET Forge CMS:

  • Community-редакция: бесплатная редакция с широкими возможностями для создания сайтов сообществ, блогов, персональных сайтов и других типов решений;
  • Бизнес-редакция для создания интернет-магазинов, сайтов с высокой нагрузкой, для которых критически важны вопросы масштабирования, отказоустойчивости и безопасности;
  • Веб-кластер создания интернет-магазинов, сайтов с высокой нагрузкой, включающая поддержку платформы Windows Azure и Web Farm.

Тестирование Веб-кластера в Azure

Платформа Windows Azure — это масштабируемая интернет-платформа служб облачных вычислений, размещаемая в центрах обработки данных Microsoft. Платформа Windows Azure предоставляет широкий выбор функций для создания приложений на всех уровнях: от веб-приложений для пользователей до сложных корпоративных систем. Она включает в себя операционную систему для облачных вычислений и набор служб для разработчиков. Основные преимущества облачного хостинга очевидны — это гибкость, надёжность и эффективность.

В .NET Forge CMS 7.0 реализована полная интеграция с платформой Windows Azure (с облачной инфраструктурой, облачным хранилищем Windows Azure Storage, облачной БД SQL Azure, облачным кешем Windows Azure AppFabric Cache), с поддержкой неограниченного числа экземпляров приложений и автоматической синхронизацией между машинами, что исключает потерю данных. Все это позволяет увеличить надежность веб-проекта, решить проблему производительности при пиковых нагрузках, например, в сезонные пики продаж интернет-магазина. Кроме того, Windows Azure упрощает построение интернет-сервисов с использованием технологии .NET, практически полностью снимая с разработчика заботы о настройке таких «мелочей», как сервисы совместного доступа к файлам или масштабирование проекта.

Тестирование Веб-кластера в Azure имеет свои особенности. Во-первых, тестирование проходило с отключенной загрузкой статического контента чтобы исключить влияние ограниченной полосы пропускания на результаты. Во-вторых, при тестировании не снимались параметры загрузки сервера в силу своей бессмысленности.

Веб-кластер, Azure small node

Среда для тестирования:

  • 1х маленькая виртуальная машина (ЦП 1,6 ГГц, 1,75 ГБ ОЗУ, 225 ГБ в хранилище).

Сценарии пользователей:

  • Сценарии пользователей полностью идентичны сценариям, используемым в тестировании бизнес-редакции.

Параметры тестирования:

  • При тестировании данной редакции на маленькой виртуальной машине со стандартными параметрами тестирования выяснилось, что даже при 1100 пользователей время отклика составляет около 40 секунд, что заведомо неприемлемо. Поэтому для данного теста начальное и конечное количество пользователей было уменьшено.
  • Продолжительность тестирования: 140 минут
  • Начальное количество пользователей: 100
  • Конечное количество пользователей: 750
  • Время реакции пользователя: 3-7с
  • Использованные профили: Registered user, Unregistered user

Статистика по результатам тестирования:

clip_image001

Зависимость времени отклика от количества одновременно работающих пользователей для отдельно взятых страниц представлена на следующем графике:

clip_image002

Комфортное значение в 4с достигается при не более чем 250 одновременно работающих пользователях, максимально приемлемое — при 350 пользователях.

Веб-кластер, Azure big node

Среда для тестирования:

  • 1х большая виртуальная машина (Четырехъядерный ЦП 1,6 ГГц, 7 ГБ ОЗУ, 1 000 ГБ в хранилище).

Сценарии пользователей:

  • Сценарии пользователей полностью идентичны сценариям, используемым в тестировании бизнес-редакции.

Параметры тестирования:

  • Продолжительность тестирования: 140 минут
  • Начальное количество пользователей: 1100
  • Конечное количество пользователей: 2400
  • Время реакции пользователя: 3-7с
  • Использованные профили: Registered user, Unregistered user

Статистика по результатам тестирования:

clip_image003

Зависимость времени отклика от количества одновременно работающих пользователей для отдельно взятых страниц представлена на следующем графике:

clip_image004

Комфортное значение в 4с достигается при не более чем 1100 одновременно работающих пользователях, максимально приемлемое — при 1550 пользователях.

Веб-кластер, кластер в Azure

Среда для тестирования:

  • 5х больших виртуальных машин (Четырехъядерный ЦП 1,6 ГГц, 7 ГБ ОЗУ, 1 000 ГБ в хранилище)

Сценарии пользователей:

  • Сценарии пользователей полностью идентичны сценариям, используемым в тестировании бизнес-редакции.
  • Параметры тестирования:
  • Продолжительность тестирования: 140 минут
  • Начальное количество пользователей: 1100
  • Конечное количество пользователей: 2400
  • Время реакции пользователя: 3-7с
  • Использованные профили: Registered user, Unregistered user

Статистика по результатам тестирования:

clip_image005

Зависимость времени отклика от количества одновременно работающих пользователей для отдельно взятых страниц представлена на следующем графике:

clip_image006

Комфортное значение в 4с достигается при не более чем 900 одновременно работающих пользователях, максимально приемлемое — при 1550 пользователях. Из графика хорошо видно, что из-за накладных расходов использование кластера нерационально при маленькой загрузке (время отклика довольно велико), но очень выгодно при большой — время отклика растёт очень медленно при увеличении нагрузки.

Тест на стабильность

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

Параметры тестирования:

  • Редакция: Бизнес
  • Продолжительность тестирования: 1440 минут (1 сутки)
  • Количество пользователей: 2400
  • Время реакции пользователя: 3-7с
  • Использованные профили: Registered user, Unregistered user

Результаты тестирования:
15 миллионов страниц в сутки. Результаты нагрузочного тестирования .NET Forge CMS в облаке Windows Azure и на Windows Server

Загрузка процессора:
15 миллионов страниц в сутки. Результаты нагрузочного тестирования .NET Forge CMS в облаке Windows Azure и на Windows Server

Выделение памяти:

15 миллионов страниц в сутки. Результаты нагрузочного тестирования .NET Forge CMS в облаке Windows Azure и на Windows Server

Потребление памяти упёрлось в 12Гб, после чего перестало расти.

15 миллионов страниц в сутки. Результаты нагрузочного тестирования .NET Forge CMS в облаке Windows Azure и на Windows Server

Использование дисковой подсистемы: Из графика видно, что использование жёсткого диска практически отсутствует. Фактически, за сутки очень активной нагрузки было записано около 1.7Гб, прочитано около 2Гб. С подобной нагрузкой легко справится любой одиночный жёсткий диск.

Производительность сервера в страницах/с:

15 миллионов страниц в сутки. Результаты нагрузочного тестирования .NET Forge CMS в облаке Windows Azure и на Windows Server

Объём нерезидентного пула:

15 миллионов страниц в сутки. Результаты нагрузочного тестирования .NET Forge CMS в облаке Windows Azure и на Windows Server

Объём пула не увеличивается на протяжении долго времени, что свидетельствует об отсутствии утечек памяти.

Итоги

clip_image007

В результате тестирования все редакции продукта .NET Forge CMS показали стабильную работу и высокие показатели производительности. Полученные результаты на одном выделенном сервере в типовой конфигурации превосходят потребности большинства высоконагруженных проектов:

  • 13 800 000 страниц в сутки для Community-редакции
  • 15 000 000 страниц в сутки для Бизнес редакции

При объединении нескольких серверов в кластер на практике удалось достичь производительности 44 000 000 страниц в сутки. Для тестирования были использованы серверы Intel Xeon e3-1270 стандартной конфигурации, размещенные в дата-центре Infobox. На всех машинах установлен MS Windows Server 2008 R2.

Серия 24-часовых тестов с максимальными нагрузками выявила стабильность работы .NET Forge CMS, что позволяет гарантировать бесперебойную работу сайтов на платформе при пиковых нагрузках.

Сравнение результатов тестирования

clip_image008

O .NET Forge CMS

.NET Forge CMS  представляет собой мощную систему управления сайтом на базе платформы ASP.NET, что определяет сферу ее применения в корпоративном секторе, особенно если остальные сервисы в компании работают на платформе Microsoft. Система облегчает работу по созданию сайта, значительно снижая затраты на их разработку и ускоряя процесс.

.NET Forge CMS  включает в себя удобные инструменты для управления сайтом, в их числе визуальный редактор, интерфейс «Эрмитаж», блоги с поддержкой Windows Live Writer, кеширование данных, интернет-магазин с продвинутой логикой скидок и многое другое. .NET Forge CMS интегрирован с Microsoft Visual Studio 2010, платформой Windows Azure, реализована поддержка Web Farm Framework от Microsoft.

Продукт получил статус Certified for Windows Server 2008 R2. Полученный сертификат подтверждает стабильность работы продукта на платформе Windows Server 2008 R2. Сертификация для Windows Server 2008 R2 подтверждает совместимость продукта с серверными технологиями Microsoft и стабильность работы при больших нагрузках и в «стрессовых» ситуациях.

Подробности тестирования, методику, метрики, расширенные результаты тестирования на Windows Azure и Windows Server и прочие данные можно узнать на сайте Galsoft по адресу http://galssoft.ru/Blog.aspx?id=27.

Автор: XaocCPS

Поделиться

* - обязательные к заполнению поля