2015 Битрикс - Нагрузочное тестирование 1С-Битрикс. Методика проведения, специфика, как провести самим.pptx
- Количество слайдов: 35
Партнерская конференция « 1 С-Битрикс» Нагрузочное тестирование « 1 С-Битрикс» : методика проведения, специфика, как провести самим? Евгений Потапов ITSumma
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ О себе Евгений Потапов генеральный директор компании ITSumma Круглоcуточное удаленное администрирование серверов и техническая поддержка сайтов 100 миллионов уникальных посетителей в сутки Штат – 50 человек
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ О нас На поддержке:
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Содержание • Цели и задачи тестирования • Виды нагрузочных тестирований • Чем тестировать - инструментарий • Проведение теста «коробки» - архитектура, сценарии, проблемы • Результаты тестирования • Куда стремиться дальше?
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Цели и задачи тестирования 1. Проверить максимальную производительность магазина со 100 000 SKU на стандартном оборудовании Типичные вопросы в разработке и эксплуатации: • «Сколько посетителей может выдержать мой сервер? Я могу купить больше рекламы» ? • «Мы сейчас выдерживаем 100 запросов в секунду – это много или мало» ? • «Мне наш сисадмин говорит что можно выдерживать 500 одновременных соединений на нашем сервере»
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Цели и задачи тестирования 2. Проверить масштабируемость от 1 до 4 серверов • «Если мы возьмем второй сервер - мы сможем выдерживать нагрузку в два раза больше» ? • «Мы можем добавлять новые серверы до бесконечности» ? • «Вообще – кластер это эффективно? »
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Цели и задачи тестирования 3. Получить 3 результата нагрузочного тестирования – для 1, 2 и 4 -х серверной конфигурации • Максимальное среднее число запросов в секунду в течение 24 часов • Максимальное число просмотров страниц в течение 24 часов • Максимальное число совершенных заказов в течение 24 часов
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Цели и задачи тестирования 4. Подбор оптимальной конфигурации ПО и рекомендации по эксплуатации высоконагруженных проектов • Оптимальная конфигурация серверного ПО • Тестирование эффективности и оптимизация схемы БД • Предложения для оптимизации 1 С-Битрикс: Виртуальная машина и 1 С-Битрикс: Веб-окружение
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Как тестировать? Виды нагрузочного тестирования Закрытая и открытая модель нагрузочного тестирования • Закрытая модель – постоянная искусственная статическая нагрузка – «пользователи» идут равномерно, нагрузка со временем не меняется. Цель – понять максимальную производительность. • Открытая модель – «пользователи» приходят волнами, иногда – с нагрузкой выше чем может справиться сервер. Цель – понять поведение в критических ситуациях в реальном мире.
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Виды нагрузочного тестирования Параметры тестирования • Закрытая модель (нужна максимальная эталонная производительность) • Тестирование длиной 24 часа • 100 000 SKU • Конфигурация: 1 С-Битрикс: Управление сайтом – 1 сервер, 1 СБитрикс: Enterprise – 2 сервера, 1 С-Битрикс: Enterprise – 4 сервера • Выполнение SLA
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Виды нагрузочного тестирования Параметры тестирования - SLA • 99% динамических запросов должны быть выполнены быстрее 1000 мс • Число ответов не-HTTP-200 должно быть не более 0. 5%
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Инструментарий • Яндекс. Танк (https: //tech. yandex. ru/tank/ ) • JMeter (http: //jmeter. apache. org/ ) • Серверы в Selectel - Intel Xeon E 3 -1270 v 3 3. 5 ГГц, 32 ГБ, 2 × 240 ГБ SSD - 8800 р. (отдельный сервер под танк)
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Сценарии тестирования • 60% - просмотр каталога • 37% - умный фильтр, выбор товара • 3% - добавление товара в корзину и оформление заказа
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Аппаратное обеспечение и конфигурация • Intel Xeon E 3 -1270 v 3 3. 5 ГГц, 32 ГБ оперативной памяти, 2 × 240 ГБ SSD диски в software RAID 1 • 1 сервер – «источник атаки» с Яндекс. Танком • Серверы с 1 С-Битрикс: Веб-окружение + PHP 5. 6
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Аппаратное обеспечение и конфигурация Конфигурация из 1 сервера
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Аппаратное обеспечение и конфигурация Конфигурация из 2 и 4 серверов
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование — этапы • Первый этап – «примерочная стрельба» • Второй этап – первые запуски полноценных тестов, тюнинг, грабли • Третий этап – стабильные тесты, фиксация результатов
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – «примерочная стрельба» • Проверка конфигурации системы тестирования • Исправление ошибок конфигурации, сценариев • Подбор параметров для максимальной нагрузки при заданном SLA • Первый тюнинг системы • Фиксация параметров при заданном SLA
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – «примерочная стрельба» • Односерверная конфигурация: 34 потока • Конфигурация из двух серверов: 74 потока • Конфигурация из четырех серверов: 136 потоков
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – первые полноценные запуски - грабли Первый большой «прогон» - обязательно будут не очень хорошие результаты • Проблемы с конфигурацией сервера • Проблемы с конфигурацией сайта • Неоптимальные решения в конфигурации сайта • Проблемы с системой тестирования Первые запуски – инструкция к оптимизации
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – первые полноценные запуски - грабли Все изменения конфигурации и оптимизации должны фиксироваться • Изменения в конфигурационных файлах • Изменения в настройках системы/сайта • Одно изменение за раз
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – первые полноценные запуски - грабли Тестирование длиной в 24 часа – постоянный контроль • Мониторинг серверов под нагрузкой (хватает места, отвечает сайт) • Мониторинг сервера с системой тестирования • “Ручной контроль” • Слишком хорошие результаты – чаще всего – что-то не работает
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – первые полноценные запуски - грабли Бюрократия • Сохранение конфигураций тестирования • Сохранение «сырых» результатов тестирования • Сохранение всех конфигураций, БД и кода
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – результаты Результаты тестирования – 1 сервер (1 С-Битрикс: Управление Сайтом, редакция Бизнес) • Время выполнения теста: 86892 секунд • Число PHP запросов в секунду: 167, при 34 одновременных потоках • 99 -процентиль: 0, 366 мс. • Число просмотренных страниц: 14 421 563 • Процент невыполненных запросов: 0. 31%
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – результаты Результаты тестирования – 1 сервер 99 -процентиль
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – результаты Результаты тестирования – 1 сервер
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – результаты Результаты тестирования – 2 сервера (1 С-Битрикс: Enterprise). • Время выполнения теста: 86850 секунд • Число PHP запросов в секунду: 265, при 74 одновременных потоках • 99 -процентиль: 0, 950 мс • Число просмотренных страниц 23 082 301 • Процент невыполненных запросов: 0. 47% • Коэффициент масштабирования по сравнению с конфигурацией 1: 1. 60
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – результаты Результаты тестирования – 2 сервера 99 -процентиль
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – результаты Результаты тестирования – 2 сервера
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – результаты Результаты тестирования – 4 сервера (1 С-Битрикс: Enterprise). • Время выполнения теста: 86402 секунд • Число PHP запросов в секунду: 535, при 136 одновременных потоках • 99 -процентиль: 0, 900 мс • Число просмотренных страниц: 46 256 141 • Процент невыполненных запросов: 0. 47% • Коэффициент масштабирования по сравнению с конфигурацией 2 2. 00
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – результаты Результаты тестирования – 4 сервера 99 -процентиль
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – результаты Результаты тестирования – 4 сервера
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Тестирование – итоги и планы • Есть «эталон» и метрики • Есть понимание перспектив масштабирования • Хочется: тест в открытой модели – понять поведение системы в критических условиях, восстановление после сверхвысокой нагрузки
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Информация о тестировании • Тестирование проводилось в мае 2015 г. • Информация о результатах теста: http: //www. 1 cbitrix. ru/products/cms/performance/#tab-test-link • Подробный отчет - http: //www. 1 cbitrix. ru/download/manuals/ru/1 cbitrix_tests_2015. pdf
| ПАРТНЕРСКАЯ КОНФЕРЕНЦИЯ Контакты Евгений Потапов http: //itsumma. ru eapotapov@itsumma. ru http: //facebook. com/eapotapov
2015 Битрикс - Нагрузочное тестирование 1С-Битрикс. Методика проведения, специфика, как провести самим.pptx