Должен ли я положить изображения на MSMQ - PullRequest
3 голосов
/ 27 августа 2009

Для одного из наших приложений мы планируем поместить отсканированные изображения в MSMQ размером 10–12 КБ и примерно около 15 000 изображений в течение дня (150 МБ).

Кто-нибудь думает, что возможны проблемы с производительностью? Любое предложение мы должны пойти на этот подход или нет, а если нет, то что еще?

Мы собираемся в WCF с привязкой MSMQ.

спасибо

Ответы [ 5 ]

3 голосов
/ 27 августа 2009

Насколько велика сеть MSMQ? Если бы у вас было 1500 очередей на 150 серверах, это очевидно. Но давайте предположим наихудший случай: один сервер, один вращающийся диск (т.е. не SSD) и постоянное хранилище сообщений. Вам потребуется несколько IOP на сообщение, и ваши сообщения будут поступать со скоростью около 2000 в час. Это меньше, чем один раз в секунду, поэтому вам потребуется от 1 до 10 операций ввода-вывода в секунду с вашего диска. Ничего страшного. Однако у вас могут быть проблемы с задержкой, если у вас интенсивный трафик.

Размер сообщения не имеет большого значения. Это намного ниже пределов MSMQ, намного ниже обычных размеров оперативной памяти сегодня, и даже старый 10Mbit Ethernet кажется достаточно быстрым. И количество IOPS на самом деле не меняется при таком низком размере сообщения.

Даже правильный дизайн не так важен. Добавление SSD доступно как быстрое решение, и даже небольшие 30 ГБ смогут хранить 200 дней сообщений. Так как они обычно рассчитаны на 1000+ полных переписываний, в вашем случае это составляет до 200 000 дней - много.

0 голосов
/ 27 августа 2009

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

Затем отправьте сообщение в MSMQ, содержащее URL / GUID изображения.

Пакетное задание на сервере изображений время от времени очищает просроченные изображения.

В противном случае, если его всего 12k ... Без каких-либо реальных испытаний никто не узнает. Подход, описанный выше, тоже не сложно реализовать.

0 голосов
/ 27 августа 2009

MSMQ может принимать сообщения только до 4 мегабайт, так что да, все должно быть в порядке.

- редактировать

Я неправильно понял вопрос, но мой ответ все еще точен. Пока сообщения <4 мег, все будет хорошо :) Переписано. </p>

0 голосов
/ 27 августа 2009

MSMQ может принимать сообщения размером до 4 мегабайт. У вас не будет проблем при 10-12 КБ на сообщение / изображение.

Оптимизация производительности в среде сервера очереди сообщений Microsoft

0 голосов
/ 27 августа 2009

Я не знаю, будет или нет - почему бы вам не попробовать и посмотреть? 150 МБ это не так уж много в наши дни, поэтому, возможно, проблем не будет, но лучше проверить эти вещи, чтобы знать наверняка.

...