Быстродействие коннектора к Plaza2
Atom Ответить
19.12.2012


Задался вопросом каковы потери (по времени) при использовании S# адаптера к Plaza2 (т.е. Есть ли смысл пытаться коряжеться и писать на С++?)
Не нашел подобной информации на форуме и решил поделиться полученными данными.

Задержку я измерял как время между тем как я отправил заявку и мне пришло уведомление, что заявка зарегистрирована.
Отправив таким образом 50 заявок я получил среднее значение в 60 мс.

Далее я написал в поддержку и попросил их прояснить куда уходит все это время.
Тогда они снабдили меня следующей инструкцией:

Цитата:

Включите (поставьте=1)
Send sent; id 0x%I64X; to_addr '%s'=1

Reply received; id 0x%I64X; reply_addr '%s'=1

в client_router_trace.ini. Пришлите номера заявок с вашими замерами раундтрипа мы посмотрим время обработки этих заявок на ядре торговой системы. Воспользуйтесь утилитой P2MQSender (ftp://ftp.rts.ru/pub/FORTS/Plaza2/mqsender.zip). Это клиентское приложение, подключающееся к роутеру по 4001 порту, производит замеры времени прохождения специально сформированных пакетов на сервер приема заявок. В P2MQSender.ini пропишите вместо старых
[p2syslog]
logfile=.\logs\P2MQSender.log
logfileperday=0
logfiledepth=1
logtoconsole=0
logfilecache=0
logfilenametype=1
traceini=P2MQSender_trace.ini
[options:mq]
appName=P2MQSender
port=4001
timeout=15000
host=localhost
password=
timeoutToAllReconnectingTriing=30000
[options:ap]
sendtimeout=100
;to=FINTER_FORTS3.P2MQEcho1
to=SQLPROXY1_P2FINTER.P2MQEcho
sendAmount=1000

После работы MQSender пришлите его логи.


Таким образом мы получаем две информации.
1) Время ответа шлюза на запросы отправляемые P2MQSender.
Это время можно понять открыв с генерированный им лог P2MQSender.log
Цитата:
2012-12-14 15:46:31.649;;;P2MQSendMsg
2012-12-14 15:46:31.649;;error;MQ Timeout
2012-12-14 15:46:31.749;;;P2MQSendMsg
2012-12-14 15:46:31.749;;error;MQ Timeout
2012-12-14 15:46:31.849;;;P2MQSendMsg
2012-12-14 15:46:31.849;;error;MQ Timeout
2012-12-14 15:46:31.949;;;P2MQSendMsg
2012-12-14 15:46:31.949;;error;MQ Timeout
2012-12-14 15:46:32.049;;;P2MQSendMsg
2012-12-14 15:46:32.049;;error;MQ Timeout

откуда видно что задержка составляет меньше 1мс.

2) Время ответа шлюза при отправке заявки.
Это время можно понять открыв файл CLIENT_router.log и найдя в нем строки типа: (которые там появятся если внести выше описанные изменения в файл client_router.ini)
Цитата:
2012-12-18 17:16:18.869;mqreply;;Send sent; id 0x31C8976FEC; to_addr 'BROK4_P2FINTER2.router';thread 0x12F8
...
2012-12-18 17:16:18.872;mqreply;;Reply received; id 0x31C8976FEC; reply_addr 'fg82cm_82000rf.router';thread 0x12F8
...
2012-12-18 17:16:19.381;mqreply;;Send sent; id 0x33C8976FEC; to_addr 'BROK4_P2FINTER2.router';thread 0x147C
2012-12-18 17:16:19.384;mqreply;;Reply received; id 0x33C8976FEC; reply_addr 'fg82cm_82000rf.router';thread 0x12F8
...

Откуда видно что на путешествие туда + обработку ядром ТС + путешествие обратно уходит ~ 3ms.

Приведу дополнительно ответ поддержки:
Цитата:

Из логов за 14 декабря видно, что задержка между отправкой пакета и получением ответа составляет в средем 3мс. Сейчас на Вашем канале round-trip min/avg/max = 1/2/8 ms


т.е. Если я все правильно понял то практически все задержки которые возникают возникают внутри адаптера к Plaza2. (По крайней мере так получаеться по словам поддержки которае подкрепляет свои слова логами)

P.S. Причем тут еще есть один нюанс. Сама по себе средняя в 60мс не так удивительна, удивительно то что значение задержки для каждой конкретной заявки варьируются от 5мс до 120мс т.е. дисперсия очень велика, что крайне не характерно для задержек вызываемых программой.


Теги:


Спасибо:




4 Ответов
Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.12.2012
Ответить


AASorokovoy Перейти
P.S. Причем тут еще есть один нюанс. Сама по себе средняя в 60мс не так удивительна, удивительно то что значение задержки для каждой конкретной заявки варьируются от 5мс до 120мс т.е. дисперсия очень велика, что крайне не характерно для задержек вызываемых программой.


Вы еще не то услышите от РТС =)) Надо привыкать к их стилю общения
Спасибо:

gramp

Фотография
Дата: 19.12.2012
Ответить


Михаил, действительно ли отклик сервера при подключении плазы через S# составляет указанное топикстартером количество времени? 60мс в среднем?
Спасибо:

AASorokovoy

Фотография
Дата: 08.01.2013
Ответить


Цитата:
Вы еще не то услышите от РТС =)) Надо привыкать к их стилю общения

Т.е. Вы считаете что они меня просто обманули?
Автор топика
Спасибо:

LEXXns

Фотография
Дата: 21.10.2013
Ответить


А можно поинтересоваться, где находилось ПО с которого замеры производились? На домашнем компе, на сервере, на сервере в коллокации биржи или удаленном от локации биржи, если на сервере, то на собственном железе или Виртуальной машине?
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy