tags:

views:

172

answers:

5

For one of our application we are thinking of putting scanned images onto MSMQ sizing 10-12k and roughly around 15000 images throughout the day (150 MB).

Does anyone think there could be possible problems performance wise? Any suggestion should we go for this approach or not and if not what else?

We are going to WCF with MSMQ binding.

thanks

A: 

I don't know if there will or not - why don't you try it out and see? 150MB is not so much these days, so maybe there will be no problem but it is generally best to test these things to know for sure.

1800 INFORMATION
A: 

MSMQ can only accept messages up to 4 meg, so yes, it should be okay.

-- edit

I misread the question, but my response is still accurate. As long as the messages are < 4 meg, all will be well :) Reworded.

Noon Silk
each message would only be 10-12k though, not 150mb each
spoon16
Per message? Or in total?
1800 INFORMATION
Per message, I'm sorry, I misready because of your comment, 1800 :P
Noon Silk
A: 

MSMQ can accept messages up to 4megs in size. You will have no problems at 10-12k per message/image.

Optimizing Performance in a Microsoft Message Queue Server Environment

spoon16
A: 

I would rather post the image to a server, create a guid for it and mark it with an expiration date.

Then post a message to MSMQ containing the URL/GUID of the image.

A batch job on the image server cleans up expired images from time to time.

Otherwise, if its only 12k... Without some real world testing noone will know. The approach above isnt hard to implement either.

Johannes Rudolph
+2  A: 

How big an MSMQ network is this? If you'd have 1500 queues on 150 servers this is a breeze, obviously. But let's assume the worst case: a single server, single rotating disk (i.e. not SSD) and persistent storage of messages. You'd need a few IOP per message, and your messages will arrive at a rate of about 2000 per hours. That's less than one per second, so you'd need between 1 and 10 IOPS from your disk. No big deal. You might have some latency issues if you have bursty traffic, though.

Message size isn't a real concern. It's well below MSMQ limits, well below normal RAM sizes today, and even old 10Mbit Ethernet seems fast enough. And the number of IOPS doesn't really vary at this low a message size.

Even a proper design isn't that important. Throwing in a SSD is available as a quick fix, and even a small 30GB would be able to hold 200 days of messages. As they're typically specced for 1000+ full reewrites, that adds up to 200.000 days in your case - plenty.

MSalters