company_banner

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

    Результаты тестирования:


    Загрузка процессора:


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



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



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

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



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



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

    Итоги


    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 и прочие данные можно узнать на сайте Galssoft по адресу http://galssoft.ru/Blog.aspx?id=27.
    Microsoft
    189,92
    Microsoft — мировой лидер в области ПО и ИТ-услуг
    Поделиться публикацией

    Комментарии 29

      +1
      Мне кажется или деплоймент на одной большой ноде показывает лучшую производительность чем деплоймент на 5 нодах в разрезе «количества одновременных пользователей
        0
        Кластеризация несет определенные издержки, возьмем например централизованный кэш вместо локального. Да и «чистое железо» обычно быстрее виртуального в облаке. Однако в облаке можно быстро и гибко менять конфигурацию в зависимости от нагрузки (ночью держать меньше машин, днем больше), да и при необходимости поднять столько машин, сколько нужно чтобы выдержать рекламу на Яндексе :-) Собирать именно для этой цели железки в датацентре в кластер, согласитесь, сложнее.
          –1
          Воды какой-то налили в ответе. У вас решение не масштабируется горизонтально, а вы про издержки тут даже не важно azure это или обычное железо.
            0
            Как это не масштабируется — добавляем веб-морды при росте нагрузки, пока руками, можно заскриптовать.
              0
              У вас в отчете цифры показывают что при добавлении веб-морд, количество обслуживаемых пользователей не изменяется.
        +1
        Вот бы для показательности, сравнили это с Wordpress/linux/nginx на таком же железе(или в амазоновском облаке)
          0
          Мы сейчас активно эксплуатируем проект на кластерной платформе PHP/Битрикс/Linux в облаке Амазон. Если интересно, можете почитать об этом в нашем корпоративном блоге.

          Однако приведенные в данной статье результаты испытаний .NET Forge, в том числе в облаке Azure показывают очень неплохие результаты данной технологии, значительно превышающие обычные требования типовых интернет-магазинов.
          +1
          Почему вы для кластера выбрали такое маленькое количество пользователей. Пиковая нагрузка в системе может составлять за час 40% от дневных хитов. Так что маловато исходных данных для принятия решения.
            0
            Бесплатный Wordpress с WP Super Cache, тестовая награбленная база на на 50 мегабайт, на травиальном одиночном дуалквадксеоне 5620 с бесплатным FAMP + Nginx, зеркало 2 SSD дисков.

            Молча держит 250 запросов в секунду и даже не чихает.

            Интересные получаются выводы…
              –1
              А сколько незакрытых дырок в бесплатном Wordpress Вы считали? Да и продукты имеют разный набор функциональных возможностей. Вот если бы сравнили с чем-то подобным типа с Magento :-)
                0
                Ну я кроме рекламной хрени о вашей цмс ничего не вижу.

                Чего она умеет то? То же, что и битрикс, подозреваю. Ну, понятно, хорошая цмска для стрясывания с корпоротивнутых лохов бабок в десятикратном размере от реальной стоимости. Всегда был рад за нее, рад и за ее виндовую дочку. Лохи наше национальное достояние.

                Насчет дырок в wp, посмешили и себя выставили в нужном свете.
                  0
                  Дырки, причем смешные, постоянно находят не только в wp, но и многих других открытых движках для создания сайтов (Joomla, Drupal). Как можно доверять серьезные проекты и данные любительским проектам, я не понимаю.
                  +2
                  А сколько незакрытых дырок в закрытом ,NEY Forge CMS?
                    +1
                    *.NET Forge CMS
                      0
                      Продукты 1С-Битрикс поставляются в исходных кодах: www.bitrix.net/ru/download/
                      Вопрос — в финансировании затрат на внутренний аудит безопасности кода в опенсорсе и коммерческих продуктах. Например регулярные аудиты и сертификации:
                      www.1c-bitrix.ru/products/cms/security/#tab-audit-link
                      www.1c-bitrix.ru/products/cms/security/#tab-Sertificat-link
                      и т.п.

                      В бесплатных движках в этом отношении все достаточно плохо и несерьезно.
                        0
                        Последнее утверждение голосословное и ничем не подтвержденное.
                      0
                      Пугайте дырами тех, кто всю жизнь под приетарщиной сидит. Чем ваш продукт функциональнее WP с плагинами!?
                      База в ~100 мегабайт, WP + десяток плагинов + WP Super Cache, nginx, raid без SSD, amd5600+, 4Гб ОЗУ. 150-170 запросов (c lo-интерфейса до ~600, ab -n 10000 -c 100 http://127.0.0.1/), естественно, без ошибок совсем. А если ещё и кеды с eclipse прибить...
                        0
                        Движок для блогов, согласитесь, отличается по функционалу от полноценного фреймворка для развертывания веб-приложения. .NET версия по функционалу пока развивается, а вот PHP-версия предоставляет просто громадные возможности, вплоть до кластеризации и репликации БД: www.1c-bitrix.ru/products/cms/editions/#tab-table-link

                        Кто пишет модули для WP и других подобных любительских движков? Правильно — все, кому не лень. В этом общественном спагетти кода обычно трудно разобраться. Коммерческие системы развиваются иначе, целенаправленно, профессиональными разработчиками, с обязательным проектированием, аудитом безопасности, нагрузочным тестированием и т.п.
                          0
                          Скажите честно, вы когда-нибудь участвовали в opensources-проекте (не у друга, а с постоянной командой в 10-20 человек)?
                          Вы сравниваете два разных подхода к производству. И таки, принцип «максимилизации прибыли» всегда проигрывает общественному производству. Да, для WP пишут все, ничего страшного, движок имеет шикарный менеджер плагинов, системой рейтинга и отзывами. Вы кластеризацией пытаетесь удивить linux-ода?! Я сейчас с postgres работаю…
                            0
                            Недописал… Хотел ещё поязвить на тему проблемной кластеризации .NET и сайта NASA на WP… Вы или рекламу в другом месте загоняйте или реальное обсуждение поднимайте всех достоинств и недостатков вашей CMS, а то кроме «мы развиваем функциональность» ничего не сказали.
                              0
                              Разные есть опенсорс команды, линукс же пишут тоже как опенсорс и работает вроде неплохо, хотя багов немало по сравнению с openbsd — где вылизывают исходники.
                              Ну и как, научились в postgres наконец делать master-slave репликацию, хотя бы асинхронную, нормально и стабильно, как у mysql? :-) Хотя уже galera появилась наконец настоящая синхронная мастер-мастер репликация, давно ожидаемая.
                      +1
                      Поздравляю с сертификатом! Кто бы что ни говорил, но сложный универсальный продукт под такой нагрузкой… Молодцы!

                      Но мне больше интересно другое: во-первых, сценарий покупки .Net редакций? Кто ее спрашивает? Насколько она востребована?
                        +1
                        \почему комфортным значением выбраны 4сек, а не 200мсек? ОоО
                          +2
                          Долго грузит — солидно, сразу видно что ынтырпрайз, а не какая-то там пэхэпэшечка
                          0
                          MicroSoft и WWW — две совершенно несовместимые вещи, вы уж извините. Выше уже написали про WordPress и его преимущества, но от себя хочу добавить: зачем плодить выродков вроде .net? Есть php, python, ruby — средства, которые сделаны увлеченными людьми для конкретных целей, а не «по указанию сверху». У MicroSoft хорошо получается делать операционные системы для массового потребления — пускай этим и занимаются, делая Windows еще лучше. А интернеты прекрасно обойдутся без вас.
                            –1
                            Нем не менее Microsoft активно продвигают облачную платформу Azure в России — опередив тот же Амазон. А PHP сертифицируют для разработки веб-проектов далеко не все организации — т.к. язык, к сожалению, достаточно дырявый в отношении безопасности, в отличии от платформы .NET.
                              +1
                              >>… активно продвигают…
                              Наверное, в этом и дело, что опережают?
                              >> язык… достаточно дырявый в отношении безопасности
                              Давайте не будем устраивать детский сад. «Дырявые» бывают головы разработчиков, а быдлокодить можно на любом ЯП. У PHP дурная репутация из-за обилия программ и скриптов, написанных не-профессионалами — с этим я согласен. Но, как я уже написал — плохой код можно написать на каком угодно языке программирования.
                                –1
                                Я имел в виду что в PHP находят постоянно дырки в самом языке (переполнения буферов при вызове функций и т.п.), что становится страшно. Suhosin именно по этой причине создали.
                            • НЛО прилетело и опубликовало эту надпись здесь

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое