Интересные результаты получены при нагрузочном тестировании системы управления контентом .NET Forge CMS в облачном окружении Windows Azure и на серверах Windows Server. Подготовку методики тестирования, проведение нагрузочных тестов и анализ данных проводила компания «ГАЛС Софт» на оборудовании
В тестировании исследовались возможности следующих редакций .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
Статистика по результатам тестирования:
Зависимость времени отклика от количества одновременно работающих пользователей для отдельно взятых страниц представлена на следующем графике:
Комфортное значение в 4с достигается при не более чем 250 одновременно работающих пользователях, максимально приемлемое — при 350 пользователях.
Веб-кластер, Azure big node
Среда для тестирования:
- 1х большая виртуальная машина (Четырехъядерный ЦП 1,6 ГГц, 7 ГБ ОЗУ, 1 000 ГБ в хранилище).
Сценарии пользователей:
- Сценарии пользователей полностью идентичны сценариям, используемым в тестировании бизнес-редакции.
Параметры тестирования:
- Продолжительность тестирования: 140 минут
- Начальное количество пользователей: 1100
- Конечное количество пользователей: 2400
- Время реакции пользователя: 3-7с
- Использованные профили: Registered user, Unregistered user
Статистика по результатам тестирования:
Зависимость времени отклика от количества одновременно работающих пользователей для отдельно взятых страниц представлена на следующем графике:
Комфортное значение в 4с достигается при не более чем 1100 одновременно работающих пользователях, максимально приемлемое — при 1550 пользователях.
Веб-кластер, кластер в Azure
Среда для тестирования:
- 5х больших виртуальных машин (Четырехъядерный ЦП 1,6 ГГц, 7 ГБ ОЗУ, 1 000 ГБ в хранилище)
Сценарии пользователей:
- Сценарии пользователей полностью идентичны сценариям, используемым в тестировании бизнес-редакции.
- Параметры тестирования:
- Продолжительность тестирования: 140 минут
- Начальное количество пользователей: 1100
- Конечное количество пользователей: 2400
- Время реакции пользователя: 3-7с
- Использованные профили: Registered user, Unregistered user
Статистика по результатам тестирования:
Зависимость времени отклика от количества одновременно работающих пользователей для отдельно взятых страниц представлена на следующем графике:
Комфортное значение в 4с достигается при не более чем 900 одновременно работающих пользователях, максимально приемлемое — при 1550 пользователях. Из графика хорошо видно, что из-за накладных расходов использование кластера нерационально при маленькой загрузке (время отклика довольно велико), но очень выгодно при большой — время отклика растёт очень медленно при увеличении нагрузки.
Тест на стабильность
Для оценки стабильности работы приложения прогонялся 24-часовой тест Бизнес-редакции, после чего сравнивались параметры быстродействия системы в начале и конце тестирования.
Параметры тестирования:
- Редакция: Бизнес
- Продолжительность тестирования: 1440 минут (1 сутки)
- Количество пользователей: 2400
- Время реакции пользователя: 3-7с
- Использованные профили: Registered user, Unregistered user
Результаты тестирования:
Загрузка процессора:
Выделение памяти:
Потребление памяти упёрлось в 12Гб, после чего перестало расти.
Использование дисковой подсистемы: Из графика видно, что использование жёсткого диска практически отсутствует. Фактически, за сутки очень активной нагрузки было записано около 1.7Гб, прочитано около 2Гб. С подобной нагрузкой легко справится любой одиночный жёсткий диск.
Производительность сервера в страницах/с:
Объём нерезидентного пула:
Объём пула не увеличивается на протяжении долго времени, что свидетельствует об отсутствии утечек памяти.
Итоги
В результате тестирования все редакции продукта .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, что позволяет гарантировать бесперебойную работу сайтов на платформе при пиковых нагрузках.
Сравнение результатов тестирования
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