TMPA-2013 Guriev: High Performance Load Generator
-
Upload
iosif-itkin -
Category
Documents
-
view
837 -
download
3
description
Transcript of TMPA-2013 Guriev: High Performance Load Generator
Высокопроизводительный генератор нагрузки для тестирования систем
автоматизированной торговли
Дмитрий Гурьев, Мария Гай, Иосиф Иткин, Александр Терентьев
Exactpro Systems, Саратовский гос. тех. университет имени Гагарина
2
Сотни миллионов заявок в день Десятки тысяч заявок в секунду Двузначное количество серверов в ЦОД Миллисекундные всплески Ограничения масштабируемости Выделенные подключения Фазовые переходы Времена отклика в 3000 раз быстрее мгновения ока
Системы автоматизированной торговли
3
Генераторы нагрузки
Трейдинговые
С открытым кодом
Коммерческие
4
Типы генераторов нагрузки
Основаны на измерениях
5
Типы генераторов нагрузки
Основаны на измерениях
Основаны на модели
6
От
Типы генераторов нагрузки
Основаны на измерениях
Основаны на модели
Закрытого цикла
7
От
Типы генераторов нагрузки
Основаны на измерениях
Основаны на модели
Закрытого цикла
Открытого цикла
8
Соотношение аппаратной мощности
9
Модель асимметричного ответа
10
Нельзя просто взять и проиграть записанные данные
Нельзя просто взять и использовать заготовленные тестовые сценарии
Нельзя просто вести стрельбу и не обрабатывать обратный поток данных
Ограничения трейдинговых систем
Нельзя просто взять и поставить много серверов
11
Конфигурационный файл
#Конфигурационный файл с настройками сессий:CONNECTIONS_CONFIG = fixConnections.cfg#Указание используемых сессий из файла с сессиями:CONNECTIONS_RANGE = 1-3, 5, 7-#Файл с заготовками сообщений:MESSAGE_TEMPLATES = fixMessageTemplates.dat#Файл с распределением по сообщениям:MESSAGE_RATES = messageRates.cfg#Последовательность действий до начала теста:INIT_CONFIG = connect(100ms), logon(3s)#Конфигурация нагрузки:LOAD_CONFIG = const(1000,5m), const(100000,10ms), const(1000,5m)#Задается постоянная нагрузка 1000 сообщений в секунду#на протяжении 5-и минут.#Количество повторений нагрузочного сценария, заданного#параметром LOAD_CONFIG:NUMBER_REPETITIONS = 10#Последовательность действий после окончания теста:SHUTDOWN_CONFIG = logout(1s), disconnect(10ms)#Последовательность действий при внезапном обрыве#соединенияON_RECONNECT_CONFIG = connect(10ms), logon(3s)#Флаг на выполнение действий, указанных в#ON_RECONNECT_CONFIG при обрыве соединения:HOLD_CONNECTION = 1#Если значение = 0, действия в ON_RECONNECT_CONFIG не #выполняются, и соединение не восстанавливается.#Время задержки между авторизацией сессий в миллисекундах LOGON_INTERVAL = 1000
12
Поток выполнения генератора открытого цикла посылает сообщения со скоростью 75к сообщений в секунду с одного ядра Цикл обратной связи требует еще одного ядраЭтот уровень нагрузки достаточен для любой системы по электронной торговле акциямиЦентральный контроллер также маштабируется по ядрам на одной машине
Характеристики производительности
Вопросы и Ответы
Спасибо!