Нагрузочное тестирование как способ снижения рисков Олег Бунин
Зачем мы проводим нагрузочное тестирование?
Сложные системы
Сложность веб-системы
Как тестировать? Нагрузка дается на систему в совокупности; Нагрузка дается в течении длительного времени; Не говоря уже о профиле нагрузки.
Как мы даем нагрузку? Профиль нагрузки; Имитация сессий пользователя; Медленные клиенты.
Методология Описание аппаратной конфигурации; Описание конфигураций веб-сервера; Профиль нагрузки;
Пример тестирования 1С- Битрикс: Аппаратная часть
Пример тестирования 1С-Битрикс: программная конфигурация Nginx (версия ), Apache (версия 2.2.3, Prefork), PHP (5.2.12), ZendServer CE Параметры конфигурации Apache: – StartServers: 50 – MinSpareServers: 50 – MaxSpareServers: 50 – MaxClients: 50 – ServerLimit: 50 – MaxRequestsPerChild: 100 Параметры конфигурации nginx: – worker_processes: 8 – use epoll; – worker_connections: Параметры конфигурации MySQ:: thread_cache_size: 48 max_connections: 100 Параметры PHP session.gc_maxlifetime: 300
Пример тестирования 1С- Битрикс: Профиль нагрузки Каталог% от списка задач /0.51% /content/41.65% /e-store/23.28% /examples/14.1% /personal/3.18% /search/17.28%
Что должно быть в результате? Оптимизация настроек; Рефакторинг узких мест; Данные о поведении системы под нагрузкой; Сенсационные цифры!
Процесс оптимизации и рефакторинга НагрузилиПосчиталиПрослезились Внесли изменения
За нагружаемой системой наблюдают все: тестировщики, администраторы и разработчики!
Кривая деградации Как умирает система? Надо умирать правильно! Глупая бессмысленная смертьСмерть героя!
Кривая деградации Стандартные настройки Apache, MySQL и PostgreSQL вообще не предназначены для серьезной работы
Как умирает Битрикс? 222 запроса в секунду 19 миллионов в сутки
Как умирает Битрикс? Среднее время ответа – 2.5 секунды
Сенсационные цифры
Осмысленные цифры
Вопросы? Олег Бунин +7 (916)