Нагрузочное тестирование - CardLab Loyalty Solutions

advertisement
Нагрузочное тестирование и испытание
10.2009
“CardLab Loyalty Solutions” –
система лояльности, управления CRM
отношениями с клиентами.
Нагрузочное испытание
25 октября 2009 г.
г. Москва
Подготовлено экспертной группой «Старт Прайд» по заказу «Кардлаб», 25 октября 2009 г.
Нагрузочное тестирование и испытание
10.2009
Содержание
1. Цели тестирования
2. Общие результаты тестирования
3. Подготовка к тестированию
3.1. Методики тестирования
3.2. Тестовая база
3.3. Сценарии тестирования
3.4. Оценка максимальной нагрузки на систему
3.5. Параметры сценариев
4. Проведение тестирования
4.1. Тестовый стенд
4.2. Проведение тестирования
4.3. Результаты тестирования
Подготовлено экспертной группой «Старт Прайд» по заказу «Кардлаб», 25 октября 2009 г.
Нагрузочное тестирование и испытание
10.2009
1. Цели тестирования
Определить производительность конфигурации серверной части и CGI в зависимости от
количества одновременно работающих пользователей (магазинов) и наполненности базы.
Задачами нагрузочного тестирования являются:
1. Вариативность зависимостей: время на выполнение транзакций, обработке и обслуживанию
операций по картам, от количества одновременно выполняемых кассовых запросов, а также от
количества уже зарегистрированных карт в системе.
2. Определить зависимость: время реакции системы на выполнение запросов пользователей при
использовании web-интерфейса, от количества одновременно выполняемых действий в системе.
3. Определить зависимость среднего времени построения основных отчетов в зависимости от
количества зарегистрированных карт и от объема базы выполненных ранее транзакций.
4. Определить максимально возможное количество одновременно работающих пользователей в
системе.
5. Выявить «узкие» места в системе по производительности. Для достижения поставленных целей
необходимо разработать тесты, оказывающие максимально возможную загрузку серверов:
приложений и баз данных. При этом предел по загрузке определяется при наступлении одного их
следующих критериев:
• Максимальная загрузка сервера приложений или сервера баз данных;
• Возникновение взаимных блокировок (deadlock), приводящих к остановкам транзакций;
• Достижение максимальной загруженности пользовательских станций;
• Превышение времени ожидания отклика выполняемого действия.
Подготовлено экспертной группой «Старт Прайд» по заказу «Кардлаб», 25 октября 2009 г.
Нагрузочное тестирование и испытание
10.2009
2. Общие результаты тестирования
Проведенное тестирование показало, что “CardLab Loyalty Solutions” в состоянии обеспечить
параллельную работу множества пользователей, а также необходимую скорость обработки
транзакций:
• Теоретический предел одновременно работающих пользователей равняется 16 000,
подробности расчета см. в главе 3.4;
• Среднее время выполнения транзакции по карте равняется 0,0125 сек. при 400 одновременно
работающих сессиях, непрерывно выполняющих транзакции, а также для генерации отчетов по
картам, - 0,6 сек. Заполнение базы при этом равнялось 500 000 операций каждого вида;
• Средняя скорость обработки транзакций Активация и Авторизация одновременно равняется 80
операций в секунду;
• При максимальной достигнутой нагрузке загруженность сервера приложений составила
примерно 60%, сервера баз данных 50%;
• Взаимных блокировок, приводящих к остановкам транзакций, во время выполнения
тестирования не возникало.
Подготовлено экспертной группой «Старт Прайд» по заказу «Кардлаб», 25 октября 2009 г.
Нагрузочное тестирование и испытание
10.2009
3. Подготовка к тестированию
3.1. Методики тестирования
Тестирование осуществляется итерационно, увеличивая на каждой итерации количество
одновременно работающих сессий тестов. Тестирование прекращается по одному из
вышеперечисленных критериев. На каждой итерации фиксируются показатели
производительности. По окончании тестирования по снятым показателям с помощью методики,
показанной далее, делаются выводы о количестве одновременно работающих пользователей.
3.2. Тестовая база
Тестирование выполняется на заранее подготовленной базе со следующими параметрами:
1. Количество одновременно работающих пользователей (магазинов) до 400;
2. Количество карт в системе 5 000 000;
3. Количество видов транзакций для каждой карты 5;
4. Количество видов транзакций для каждого пользователя 15;
5. Количество показателей активности для каждого объекта 10;
3.3. Сценарии тестирования
С целью моделирования процесса управления транзакциями, картами, и пользователями отражая
всю функциональность “CardLab Loyalty Solutions” необходимо использовать несколько
сценариев.
Сценарии:
1. Регистрация объекта (ТСП);
2. Регистрация пула карт;
3. Регистрация транзакций выполняемых от имени ТСП;
4. Регистрация операций выполняемых от имени пользователя (web-интерфейс);
5. Формирование отчетов по транзакциям;
6. Формирование отчетов по работе пользователей;
7. Формирование отчетов по маркетинговым акциям;
8. Формирование отчетов по финансово значимым операциям.
Подготовлено экспертной группой «Старт Прайд» по заказу «Кардлаб», 25 октября 2009 г.
Нагрузочное тестирование и испытание
10.2009
3.4. Оценка максимальной нагрузки на систему
Для определения максимально возможной нагрузки на систему необходимо получить примерную
оценку реально работающих пользователей с конфигурацией. Выполнено по следующей
методике.
Предположим, что пользователю для работы с одной картой требуется 1 минута.
Тогда общее количество реально работающих пользователей можно получить из соотношения
времени выполнения одного обращения к базе, к общему времени работы с картой. При этом под
общим временем работы с картой понимается суммарное время выполнения подготовительных
запросов к базе по заполнению экранной формы, времени сохранения операции в базе, а также
бездействия, равному 1 минуте.
Rel = tsave / (tprep + tpause + tsave) (1),
где
tprep - суммарное время, необходимой последовательности запросов к базе, имитирующее
выполнение транзакции;
tpause - пауза в 1 минуту;
tsave - время сохранения операции в БД.
После проведения тестирования необходимо оценить отношение времени tsave к общему
времени работы пользователя:
КолВоПользоватлей = 400 / Rel, (2), где 400 – максимально достигнутое количество одновременно
работающих сессий.
3.5. Параметры сценариев
Тестирование проводится в несколько этапов с различным количеством одновременно
работающих сессий с различными сценариями. Список всех тестов с требуемыми параметрами
указан в Приложении 1.
Подготовлено экспертной группой «Старт Прайд» по заказу «Кардлаб», 25 октября 2009 г.
Нагрузочное тестирование и испытание
10.2009
4. Проведение тестирования
4.1. Тестовый стенд
Тестирование выполнялось на тестовом стенде со следующими характеристиками:
Сервер “CardLab Loyalty Solutions”:
Операционная система
MS Windows x64 Enterprise Server 2003 Release 2/Open Suse
Сервер IBM x3650
материнская плата Gx3650, Dual-Core Xeon 5160 3.00 GHz/1333MHz
2x2MB L2, 2x512 MB Chipkill, O/Bay 3.5in HS SAS, SR-8k-1
Процессор Dual-Core Intel Xeon Processor 5160 3.00 GHz/1333 MHz,
FSB 2x2MB L2, оперативная память 4GB PC2-5300 667 MHz ECC Chipkill DDR2 FBD,
жесткий диск 73GB Hot-Swap 3.5'' 15K RPM Ultra320 SAS HDD
Сервер баз данных:
Операционная система
MS Windows x64 Enterprise Server 2003 Release 2/Open Suse
Система управления базами данных
Microsoft SQL Server 2005 Service Pack 2 для Windows
Сервер IDM x3850
материнская плата x3850, Xeon3.16Ghz/667MHz, 1MB L2, 2x1GB, O/Bay 3.5in HS SAS
Процессор 4x Intel Xeon Processor Upgrade 3.16 GHz 667 MHz 1 MB L2
оперативная память Active Memory 4 Slot Expansion Card, 8x2 GB PC2-3200 CL3 ECC DDR2 SDRAM
RDIMM
жесткий диск ServerRAID 8i SAS Controller + 6 x 73 GB 2.5’’ 10 RPM
Рабочая станция 1
Операционная система
MS Windows XP Professional x64 Edition SP2
Процессор Dual-Core Intel Xeon CPU 5140 2.33GHZ
Оперативная память 2 Gb
Рабочая станция 2
Операционная система
MS Windows XP Professional x32 Edition SP2
Процессор Intel Pentium 4 2.41GHz
Оперативная память 1 Gb
Тестирование выполнялось по сценариям, согласно Приложения 1. Распределение сессий между
двумя рабочими станциями осуществлялось поровну в сценариях по 9, 18 и 27 одновременно
запущенных сессий. В сценариях с 36, 45 и 54 сессии распределение ресурсов осуществлялось
поровну между двумя рабочими станциями и сервером “CardLab Loyalty Solutions”.
Подготовлено экспертной группой «Старт Прайд» по заказу «Кардлаб», 25 октября 2009 г.
Нагрузочное тестирование и испытание
10.2009
4.2. Проведение тестирования
На всех графиках ниже показана зависимость времени выполнения транзакций и количество
одновременно работающих сессий при работе разных сценариев.




Регистрация объекта (ТСП);
Регистрация пула карт;
Регистрация транзакций выполняемых от имени ТСП;
Регистрация операций выполняемых от имени пользователя (web-интерфейс);
Рис. 1. Сценарии регистрации.




Формирование отчетов по транзакциям;
Формирование отчетов по работе пользователей;
Формирование отчетов по маркетинговым акциям;
Формирование отчетов по финансово значимым операциям.
Рис. 2. Сценарии формирования отчетов.
График формирования отчетов рассчитывается на 1 год, при этом табличная часть документа (в
зависимости от количества, видов, способа отображения отчетов) может увеличиваться в
несколько раз. При расчете графиков формирования отчетов в нашем случае для каждого отчета
было сформировано около 5000 транзакций.
Все отчёты формировались с настройками по умолчанию.
Подготовлено экспертной группой «Старт Прайд» по заказу «Кардлаб», 25 октября 2009 г.
Нагрузочное тестирование и испытание
10.2009
4.3. Результаты тестирования
Проведенное тестирование показало отличные результаты производительности “CardLab Loyalty
Solutions”. Пользовательская часть системы в состоянии обеспечить параллельную работу
множества пользователей (магазинов).
Исходя из вышеописанной методики, при условии выполнения каждым пользователем
транзакции по карте раз в 1 минуту получилось примерно 8 140 одновременно работающих
пользователей.
При нагрузке в 400 одновременно работающих сессий нагрузка на сервер приложений составила
примерно 60%, сервер баз данных 50%, при этом рабочие станции были загружены по максимуму
на 98%. Это говорит о том, что возможно повышение количества одновременно работающих
пользователей за счет подключения дополнительных аппаратных ресурсов, обращающихся к той
же базе данных, а также получить приемлемые результаты на менее производительном
оборудовании.
Взаимных блокировок, приводящих к остановкам транзакций, во время выполнения тестирования
не возникало.
Резюме исследования
Исследование системы подготовлено независимой экспертной группой «Старт Прайд».
Результаты тестирования являются собственностью заказчика и применимы в качестве
углубленной экспертной оценки при взаимодействии заказчика с третьими лицами.
Действие данного экспертного заключения распространяется на продукт «Кардлаб» - “CardLab
Loyalty Solutions” и связанные с ним кассовые модули.
«Старт Прайд» гарантирует соответствие тестовой среды, реальным условиям работы
протестированных систем и модулей.
Подготовлено экспертной группой «Старт Прайд» по заказу «Кардлаб», 25 октября 2009 г.
Download