Александр Демидов «1С-Битрикс» Тестируем производительность: результаты нагрузочного тестирования, выполненного компаниями «1С-Битрикс», «Онтико» и.masterhost.

Презентация:



Advertisements
Похожие презентации
Александр Демидов руководитель направления арендных решений «1С-Битрикс» «1С-Битрикс» - итоги 2010 года: SaaS, хостинг.
Advertisements

Александр Демидов «1С-Битрикс» Производительность проектов на платформе «1С-Битрикс»
Александр Демидов «1 С-Битрикс» Производительность Виртуальная машина 3.0 Инструменты отладки Летняя партнерская конференция «1 С-Битрикс» 2011.
Аспекты увеличения быстродействия «1С-Битрикс: Управление сайтом» на виртуальном хостинге Артём Рябинков 1С-Битрикс.
Программный продукт «1С-Битрикс: Управление сайтом» Францев Вадим Ведущий консультант «1С-Битрикс»
Виртуальная машина 3.0: Как запустить веб-кластер за 15 минут Денис Шаромов руководитель отдела техподдержки «1С-Битрикс»
«1С-Битрикс» Программа сертификации хостинг-провайдеров Александр Демидов руководитель направления арендных решений «1С-Битрикс»
Принципиальные изменения в версии 6.0. Оптимизация. Производительность продукта Сергей Рыжиков Генеральный директор ООО «1С-Битрикс»
Платформа для интернет-магазина Алексей Сидоренко, 1С-Битрикс.
CMS и хостинг Докладчик: Константин Малов Компания : Хостинг-Центр РБК.
Платформа разработки высоконагруженного веб-сервиса: инструменты отладки и возможности масштабирования Александр Демидов руководитель направления арендных.
1С-Битрикс: Управление сайтом 10.0 Веб-кластер.
«1С-Битрикс» Продажа лицензий хостинг-провайдерами Александр Демидов руководитель направления арендных решений «1С-Битрикс»
Системы управления сайтами: тенденции рынка и требования пользователей Алексей Сидоренко Директор по развитию 1С-Битрикс.
Что клиенты просят доделать после партнеров Евгений Потапов ITSumma.
«Управление сайтом»: новое и забытое старое Александр Кательников Начальник отдела разработки CSN-Софт.
Александр Демидов «1С-Битрикс» Хостинг для «1С-Битрикс» Летняя партнерская конференция «1С-Битрикс» 2011.
Построение системного ландшафта для высоко нагруженного проекта ООО «Ленвендо-Софт» Гаврилов Виталий Технический директор тел.: +7 (812)
Опыт проведения нагрузочного тестирования DocsVision Виктор Сущев DocsVision Директор по консалтингу.
1 1С-Битрикс: Корпоративный портал Внедрение, обучение, сопровождение. 1 «Стоимость владения» корпоративным порталом Выбор.
Транксрипт:

Александр Демидов «1С-Битрикс» Тестируем производительность: результаты нагрузочного тестирования, выполненного компаниями «1С-Битрикс», «Онтико» и.masterhost

Экскурс в историю Предыдущее нагрузочное тестирование проводилось в 2007 году совместно с компаниями QSOFT и.masterhost. Тестировалась версия 6.0 (MySQL), редакции «Старт» и «Бизнес». На типовом (для того времени) оборудовании – на выделенном сервере Kraftway Express ISP ES11: хита в сутки на редакции «Бизнес» хитов в сутки на редакции «Старт»

Новое нагрузочное тестирование Новое нагрузочное тестирование было проведено в 2010 году совместно с компаниями «Онтико» и.masterhost. Тестировалась версия 9.5 (MySQL), редакции «Старт» и «Бизнес». На типовом оборудовании 2010 года – на выделенном сервере HP ProLiant DL120: хитов в сутки на редакции «Бизнес» хитов в сутки на редакции «Старт» хитов в сутки на редакции «Старт» (с включенной опцией «HTML кеширование»)

За три года – на 430% быстрее! +110%+430%

Нагрузочное тестирование проектов Нагрузочное тестирование - обязательный этап настройки. Нагрузочное тестирование является важнейшей процедурой подготовки крупного проекта к открытию. Нагрузочное тестирование позволяет определить предел работоспособности созданного проекта именно на выбранном оборудовании. Зачастую, простые корректировки конфигурации могут ускорить проект в 5-10 раз и сделать его устойчивым к стрессовым нагрузкам.

Цели нагрузочного тестирования платформы Проверка и оптимизация конфигурации серверного программного обеспечения (цель – получить идеальное веб-окружение; тесты проводились на «1С-Битрикс: Веб-окружение» версии 1.6, по результатам выпущена версия 2.0). Оценка максимальной производительности, которую способны выдерживать типовые редакции на выделенном оборудовании. Влияние опций и модулей продукта на производительность. Оценка стабильности при максимальных нагрузках при проведении 24- часовых тестов. Выявление ограничений конфигурации, определение методов дальнейшего масштабирования и оптимизации. Проверка продукта в различных сценариях

Используемое оборудование Для тестовых установок «1С-Битрикс: Управление сайтом» использовался выделенный сервер «EuroDedicated Универсальный», предоставленный компанией.masterhost: HP ProLiant DL120, 1×Intel Quad Core X3210, 1×1TB SATA, 8GB RAM Обычный заурядный сервер, доступный каждому! Аренда: руб./мес.

ОС и серверное ПО Система: CentOS 5.3 x86_64 bitrix-env.rpm – пакет для установки и настройки Linux окружения и продуктов «1С- Битрикс»: mysql-server 5.1.х httpd-server (Apache 2.2.х) zend-server-ce-php mod-php nginx memcached catdoc xpdf

1С-Битрикс: Веб-окружение Linux Минимальные расходы на развертывание оптимальной конфигурации Наилучшая производительность на выделенных под проект ресурсах Сбалансированность под большие нагрузки Автоматическое конфигурирование под ресурсы сервера Проверено нагрузочными тестами Проверено отделом безопасности Оптимизировано для работы Корпоративного Портала Инсталлятор продуктов «1С-Битрикс» Бесплатно! Экономит часов администрирования.

Тестируемые продукты Редакция «Бизнес», «Интернет-магазин», демо-данные, редакция с большим набором модулей, веб-аналитикой, проактивной защитой и антивирусом, готовое решение для быстрого старта бизнеса, динамический контент, авторизация пользователей Редакция «Старт», «Корпоративный сайт производственной компании», демо-версия, ограниченный набор модулей, отсутствие веб-аналитики, типичный сайт-визитка. Опция «HTML кеширование» выключена - оценка производительности программной платформы. Редакция «Старт», опция «HTML кеширование» включена – оценка производительности промо-сайта, созданного и работающего на программной платформе «1С-Битрикс: Управление сайтом».

Тестирующее оборудование и ПО Рабочая станция для установки ПО тестирования – выделенный сервер, предоставленный компанией.masterhost - «EuroDedicated-Win Универсальный»: HP ProLiant DL120 / Dual Core Intel Pentium E2160, 1.80GHz / 2x500GB SATA / 4GB RAM Windows Server Web Edition 2003 ПО для генерации нагрузки и анализа результатов - WAPT 7.0 Сеть: 100 Мбит сетевые адаптеры на тестовом и тестирующем серверах

WAPT Гибкая регулировка нагрузки (количество одновременных подключений, скорость канала, задержка между хитами и т.п.) Обширные возможности логирования и мониторинга Большое количество отчетных данных

Профили пользователей СтартПуть по сайтуВсего стр. в сессии 50: главная страница/11 выпускаемая продукция/products/1 категории товаров/products/X/13 виды товаров/products/X/YY/10 услуги/services/3 виды услуг/services/YY/2 контакты/contacts/1 новости/news/2 о компании/company/2 о компании, страницы/company/ZZZ.php5

Профили пользователей Business Authorized usersПуть по сайтуВсего стр. в сессии 29: главная страница/3 вход в систему/login/2 вид товара/catalog/furniture/XXX/YYY/8 категории товаров/catalog/furniture/XXX/3 сравнение товаров/catalog/furniture/compare/5 просмотр/действия с корзиной/personal/cart/3 оформление заказа/personal/order/make/1 /personal/order/1 информационный раздел/about/delivery/1 информация/about/1 выход/about/?logout=yes1

Профили пользователей Business Non-Authorized usersПуть по сайтуВсего стр. в сессии 24: главная страница/7 каталог/catalog/1 вид товара/catalog/furniture/XXX/YYY/6 категории товаров/catalog/furniture/XXX/4 информация/about/1 информационный раздел/about/ZZZ/3 о компании/company/1 о компании, страницы/company/ZZZ.php1

На старт! Внимание! Марш! Файловая система ext3 с опцией noatime fs.file-max = Отключены CustomLog (Apache) и access_log (nginx) для 24-часовых тестов Прочие настройки автоматически установлены пакетом bitrix-env.rpm

Монитор производительности «Бизнес»: до начала тестов (в состоянии покоя) – 66 единиц

Эталонный тест Авторизованные сессии Неавторизованные сессии По всем сессиям Avg page exec time (PHP), sec 0,058 Avg response time, sec0,280,0750,09 (with page elements)0,6440,1050,135 Pages Pages per second7,194,9102,0 Active users Sessions Sessions per second0,243,954,19 HTTP errors, %, не более 0,05 Редакция «Бизнес»

Выбор условий тестирования Ограничение скорости соединения (до 256k), изменение количества просматриваемых страниц в одной сессии и увеличение времени между хитами практически не влияют на сравниваемые показатели производительности.

Тест 2: Zend Server CE vs. APC Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,043 Avg response time, sec0,1540,090,105 Pages Pages per second7,892,3100,2 Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,082 Avg response time, sec0,540,410,42 Pages Pages per second7,0582,189,15 Zend Server CE – 12-минутные тесты APC apc.shm_size=256 (Мб) Скорость генерации страниц сократилась на 11%

Тест 3: PHP vs. PHP Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,043 Avg response time, sec0,1540,090,105 Pages Pages per second7,892,3100,2 PHP 5.2 – 12-минутные тесты PHP Отличия в результатах – не более, чем на 1% в разные стороны Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,042 Avg response time, sec0,150,09 Pages Pages per second7,5691,999,44

Тест 4: продукт – хранение сессий в БД Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,043 Avg response time, sec0,1540,090,105 Pages Pages per second7,892,3100,2 Эталон – 12-минутный тест Сессии в БД Скорость генерации страниц сократилась на 3% Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,053 Avg response time, sec0,190,140,15 Pages Pages per second7,4989,697,13

Тест 5: продукт – хранение кэша в memcached Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,043 Avg response time, sec0,1540,090,105 Pages Pages per second7,892,3100,2 Эталон – 12-минутный тест Кэш в memcached Скорость генерации страниц сократилась на 15% Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,085 Avg response time, sec0,70,580,59 Pages Pages per second6,8977,884,66

Тест 6: влияние модуля веб-аналитики На 12-часовом тесте – значительно падение скорости генерации страниц: потребление mysqld до 120% ядра CPU load average – до Почему?

Тест 6: диагностика Общая оценка производительности упала примерно в 3 раза

Тест 6: диагностика Закладка «Разработка» показывает страницы, создающие максимальную нагрузку

Тест 6: диагностика

Тест 6: диагностика… и «лечение» Максимальное время выполнения у запроса к B_STAT_SESSION, который выполняется по индексу (IP_FIRST_NUMBER,DATE_STAT типа Date). Генерация нагрузки – с одного IP адреса. Соответственно индекс обладал нулевой избирательностью. Для исправления ситуации (приближения к реальной жизни), изменим случайным образом данные в таблице B_STAT_SESSION: mysql > update b_stat_session set IP_FIRST_NUMBER = FLOOR( RAND() * (232669)); При повторном тестировании получаем скорость генерации - 85 стр./сек. Таким образом, модуль веб-аналитики в наших тестовых условиях снижает скорость генерации страниц на15%.

Тест 7: влияние модуля проактивной защиты Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,043 Avg response time, sec0,1540,090,105 Pages Pages per second7,892,3100,2 Эталон – 12-минутный тест Проактивная защита включена Скорость генерации страниц сократилась на 3% Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,056 Avg response time, sec0,230,150,16 Pages Pages per second7,3689,396,66

Тест 8: влияние веб-антивируса Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,043 Avg response time, sec0,1540,090,105 Pages Pages per second7,892,3100,2 Эталон – 12-минутный тест Веб-антивирус включен Скорость генерации страниц сократилась на 5% Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,065 Avg response time, sec0,270,2 Pages Pages per second7,3387,594,80

Тест 9: влияние прочих модулей Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,043 Avg response time, sec0,1540,090,105 Pages Pages per second7,892,3100,2 Эталон – 12-минутный тест Включены: блоги, веб-сервисы, формы, обучение и т.д. Скорость генерации страниц сократилась на 3% Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,053 Avg response time, sec0,220,140,15 Pages Pages per second7,5389,396,88

Оценка производительности продукта Сценарии «боевых» тестов: Тест 10: оценка производительности интернет-магазина, созданного и работающего на программной платформе «1С-Битрикс: Управление сайтом» (редакция «Бизнес», опция «HTML кеширование» выключена, опция «Проактивный фильтр (Web Application Firewall)» включена). Тест 11: оценка производительности программной платформы «1С-Битрикс: Управление сайтом» (редакция «Старт», опция «HTML кеширование» выключена). Тест12: оценка производительности промо-сайта, созданного и работающего на программной платформе «1С-Битрикс: Управление сайтом» (редакция «Старт», опция «HTML кеширование» включена).

Тест 10: «Бизнес», «Интернет-магазин» Авторизованные сессииНеавторизованные сессии По всем сессиям Avg page exec time (PHP), sec 0,065 Avg response time, sec0,260,170,18 (with page elements)0,290,220,23 Pages Pages per second7,6290,998,51 Active users Sessions Sessions per second0,253,794,04 HTTP errors, %, не более 0, страниц в сутки авторизованных пользователей интернет-магазина оформленных заказов в интернет магазине

Тест 11: «Старт» страниц в сутки Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,035 Avg response time, sec 0,22 (with page elements) 0,23 Pages Pages per second ,76 Active users 2800 Sessions Sessions per second 2,82,80 HTTP errors, %, не более 0,03

Тест 12: «Старт», «Промо-сайт» Уже при скорости 300 стр./сек. ограничивающим фактором стал сетевой интерфейс (100 Мбит). При отключенной статике стабильная работа системы продолжалась при скорости генерации страниц около стр./сек.

Тест 12: «Старт», «HTML кеширование» страниц в сутки Лимит нагрузки был достигнут из-за ограничения сетевых интерфейсов (100 Мбит) на сервере и тестирующей станции. В данном тесте была отключена выдача статического контента, 1 хит - 1 страница (без js, css, jpg, gif и т.п. файлов). Авторизованные сессииНеавторизованные сессииПо всем сессиям Avg page exec time (PHP), sec 0,003 Avg response time, sec 0,01 (with page elements) 0,01 Pages Pages per second 985 Active users 2800 Sessions Sessions per second 19,3 HTTP errors, %, не более 0,03

Результат на стандартном оборудовании Результаты нагрузочного тестирования подтверждают, что «1С-Битрикс: Управление сайтом» стабильно работает в условиях сверхбольших нагрузок. В условиях реальных приложений полученные в тестах цифры могут служить ориентиром для настройки приложения и принятия решения о необходимости масштабирования веб-сервера и базы данных.

Проекты с высокой нагрузкой

Спасибо за внимание! Вопросы? :) Александр Демидов +7 (915)