2013-12-23 3 views
4

У меня есть приложение signalR, которое имеет 5000 клиентов, подключенных к серверу. Мой клиент не имеет никакого контроля для отправки сообщения или чего-либо еще. мой клиент отправляет 5-значное сообщение клиентам.пропускная способность для соединения SignalR

Вопрос: если на сервер SignalR подключено 5000 клиентов, то для моего сервера потребуется пропускная способность.

+0

Это будет зависеть буквально от каждой части вашего приложения - рекомендуется, чтобы вы загрузили приложение для определения такого рода вещей. Вот несколько ресурсов: http://channel9.msdn.com/Events/Build/2013/3-502 http://www.asp.net/signalr/overview/signalr-20/performance-and-scaling/signalr -performance. База кода SignalR также включает приложение для тестирования нагрузки, называемое Crank. Здесь вы можете получить кодовую базу: https://github.com/SignalR/SignalR/archive/master.zip –

ответ

2

Это можно рассчитать следующим образом:

(Max Size of message) * (Max frequency of message) * (Max Number of clients) 

К примеру, скажем, размер сообщения 1 Kb. С 1 сообщением в секунду и 5000 клиентами это приведет к требуемой полосе пропускания 5 мегабайт в секунду (скорость сети со скоростью 40 мегабит в секунду). Это максимальная пропускная способность, необходимая для максимальной обработки.

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

1

В дополнение к замечательному ответу @ Schachaf.Gortler, обратите внимание, что для связи SignalR могут быть дополнительные HTTP-накладные расходы, которые будут варьироваться в зависимости от того, какой метод он использует для связи (WebSockets или резервная технология).

См. Using Fiddler with SignalR, чтобы узнать, как получить фактический размер необработанного сообщения для вашего приложения.

Смежные вопросы