Восстановил его использование. В процессе переписки с РТС тех поддержкой выяснилось, что даже на тестовом полигоне round-trip заявок уменьшается почти в 2-3 раза, если использовать раздельные коннекшены для потоков и транзакций.
Еще мне тех поддержка посоветовала посмотреть на размер очереди:
Рекомендуется включить трейс New message added to recvList. Size: %d=1 в используемом P2SimpleReplClient_trace.ini и последить за размером очереди сообщений в логе P2SimpleReplClient.log.
Включить то я включил, а вот в лог все равно запись не попадает. Причем похоже локальный P2SimpleReplClient_trace.ini вообще никак не влияет на форматирование лога. Наверное, где-то туплю.
Комментарии (6)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
И заявки перестали региться? Первоисточник не читаешь🙂
CP2ConnectionClass для потоков репликации мы прокачиваем в PlazaStreamManager, а основной CP2ConnectionClass (объявленный в PlazaTrader) игнорируется. Прокачку я поставил в TransactionManager. Заявки регистрируются, новая запись в лог попадает. Объявлять трейс нужно в локальном P2SimpleReplClient_trace.ini.
С заявками то все ок, я же round trip вычислял. Делать прокачку сообщений для транзакционного подключения мне кажется бессмысленно.
Тоесть у тебя появилась строчка с размером очереди в логе?
Насколько я понимаю, прокачка обязательна, если асинхронно отправляешь сообщения: внутри ProcessMessage вызываются коллбэки, например, IP2AsyncSendEvent2. Ради примера, закоментируй нитку прокачки сообщений в TransactionManager (_pollThread = ThreadHelper.CreateThread(PollProc);) и отправь заявку. У меня ответа не было. С прокачкой через 1-2 секунды.
Прокачка не нужна, если сообщения отправляются синхронно.
Кстати, может быть сделаем 4 потока, исходя из этой информации (взято отсюда)?
В любом случае, надо будет контролировать размер очереди по логам, да и данных на тестовом контуре не так много, чтобы нормально протестировать😢
3 и 4 имеют разную нагрузку. Может сделать получение стаканов в отдельном потоке.
Тогда получается три подключения: команды, стаканы и все остальное? Если все правильно, займусь.