Служебная шина netTcpRelayBinding быстрее, чем обычная netTcpBinding?
Я заметил странную ситуацию. Я пишу статью для класса о компоненте ретранслятора служебной шины. Я решил проверить, как это влияет на производительность (вместо соединения "клиент <-> служба" вместо "client <-> service" есть "client <-> sb relay <-> service", поэтому должна быть задержка). Удивительно, но тестирование с большими входными данными (~1,5 МБ данных на запрос в качестве ввода, служба возвращает одно целое число в качестве вывода) доказало, что приложение, использующее SB Relay, работает в 4 раза быстрее (500 мс против 2000 мс). Я, честно говоря, понятия не имею, откуда взялись эти результаты. Я тестировал клиентское приложение на другом компьютере (служба по-прежнему размещается на виртуальной машине Azure), но с теми же результатами. Я проверил, поступают ли запросы (если есть какой-то "кеш-подобный" механизм, но все вроде бы нормально. У кого-нибудь есть идея, почему ретранслируемое соединение быстрее, чем прямое?
Спасибо за любую помощь