MSMQ - тест производительности / стрессовая нагрузка на сервер с несколькими рабочими станциями - PullRequest
1 голос
/ 02 марта 2012

Я пытаюсь запустить тест производительности MSMQ на сервере Win2008r2. В идеале я хотел бы смоделировать несколько тысяч рабочих станций, отправляющих (каждая из них) 5 мсг / с.

Один из способов сделать это - работать с Amazon, но мне интересно, можно ли это сделать другими способами.

Я учил, что использование специального инструмента, который отправляет большое количество сообщений на одну рабочую станцию, может сделать эту работу, но кажется, что они представляют собой некоторые внутренние механизмы, которые влияют на реальное представление реальной жизни того, что я пытаюсь смоделировать. Я могу отправить 2000msgs / sec на рабочую станцию, но из-за очереди OUTGOING и другого механизма сервер, кажется, поглощает все целиком большими порциями данных (и я замечаю только, в лучшем случае, пики 50msgs / sec)

Я полагаю, что перед отправкой данных на сервер, которые я теряю, должна быть какая-то служебная операция с рабочей станции, которая имитирует только одну рабочую станцию ​​(или еще несколько).

Есть идеи?

P.S. Я использую личную транзакционную очередь. Win7 на рабочей станции. MSMQ 5

1 Ответ

3 голосов
/ 03 марта 2012

Имитация пропускной способности проста, но невероятно сложно симулировать несколько клиентов MSMQ.У каждого клиента есть уникальный IP-адрес, и у него есть собственное сетевое соединение между администратором очередей клиента и сервером.Использование Amazon для генерации большого количества экземпляров клиента Windows может помочь, но я не видел ни одного решения, работающего на стандартных ПК.

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

Поскольку вы постоянно отправляете сообщения, каждый клиент будет иметь постоянное соединение с сервером.Это хорошо для скорости, но плохо для использования памяти / потока.Для 5000 клиентов потребуется мощный 64-разрядный сервер.

Итак, каково ограничение на подключения к серверу MSMQ?

"Каковы ограничения MSMQ?"Если бы у меня был фартинг за каждый раз ...

Недостаточно ресурсов?Убегайте, убегайте!

ИСПРАВЛЕНИЕ: память пула ядра может быть исчерпана, когда многие клиенты подключаются к очереди сообщений

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