Определение скорости соединения / пропускной способности в .net / WCF - PullRequest
3 голосов
/ 22 мая 2010

Я пишу как клиентский, так и серверный код, используя WCF, где мне нужно знать «воспринимаемую» пропускную способность трафика между клиентом и сервером. Я мог бы использовать статистику ping для сбора этой информации отдельно, но мне интересно, есть ли способ настроить стек каналов в WCF так, чтобы одна и та же статистика могла собираться одновременно при выполнении моих вызовов веб-службы. Это было бы особенно полезно в тех случаях, когда ICMP отключен (например, ping не будет работать).

Короче говоря, когда я выполняю свои обычные вызовы веб-службы, связанные с бизнесом (точнее, вызовы REST), есть ли способ неявного сбора данных о скорости соединения?

Конечно, я мог бы рассчитать время прохождения веб-службы, по сравнению с размером данных, используемых при прохождении туда-обратно, чтобы дать мне представление о пропускной способности, но я не буду знать, какая часть этой предполагаемой пропускной способности была связана с сетью или просто из-за задержки обработки сервера. Возможно, я мог бы решить эту проблему, отправив серверу обратно дельту времени, представляющую задержку сервера, чтобы клиент мог вычислить фактическое время сетевого трафика. Если более сложный подход не доступен, это может быть мой ответ ...

1 Ответ

0 голосов
/ 22 мая 2010

ICMP был создан не для того, чтобы пытаться получить статистику скорости соединения, а скорее, если между двумя хостами установлено правильное соединение.

Мое лучшее предположение заключается в том, что объем данных, отправляемых в этих вызовах REST или трафике ICMP, недостаточен для расчета предполагаемой скорости / полосы пропускания соединения.

Если вы рассчитываете по этим метрикам, вы получите очень большую статистику пропускной способности или очень низкую, используйте в качестве примера поле для копирования в Windows XP. Вам необходим постоянный и значительный объем данных для отправки для расчета действительной статистики пропускной способности.

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