Быстродействие коннектора к Plaza2


Быстродействие коннектора к Plaza2
Atom
12/19/2012


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

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

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

Quote:

Включите (поставьте=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
Quote:
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)
Quote:
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.

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

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


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

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


Tags:


Thanks:


Mikhail Sukhov

Avatar
Date: 12/19/2012
Reply


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


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

gramp

Avatar
Date: 12/20/2012
Reply


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

AASorokovoy

Avatar
Date: 1/8/2013
Reply


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

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

LEXXns

Avatar
Date: 10/21/2013
Reply


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


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy