tags:

views:

83

answers:

2

Hi,

I have to create a WCF service that will accept thousands of requests every 5 minutes, which each request passing a small (1-5KB) text file.

The service will pass the file contents to another assembly, which will process the lines and insert some records into the database. Nothing too heavy on this side.

I need help on the following aspects:

  • Which WCF configuration should I use that will give me the best performance? The calls to the service will come from the internet not an internal LAN.
  • The service will accept requests every 5 minutes, which means I have only 5 minutes to process all the requests before the next cycle. Is MSMQ the best solution here?

Any examples online I can read?

Thanks in advanced

A: 

Use NetTCPbinding

Optimizing WCF Web Service Performance

Creating high performance WCF services

Mitch Wheat
Good links Mitch, thanks.
anon2009
+1  A: 

For best performance, I'll assume you're talking about less latency. You should pick a TCP transport, like net.tcp. This document can help you to decide Choosing a Transport

About that MSMQ part: you'll receive a lot request and just start processing them after 5 minutes? If yes, your choice is correct: MSMQ will keep that request queue and you can work on them asynchronously.

Rubens Farias
Rubens,Processing time will be probably more than 5 minutes so queuing I think is the only solution here.. My question is if MSMQ is the best option.
anon2009
If you already have MSMQ working, yes, it's a good choice. But you can also to build your queue mechanism, by storing pending items on a database.
Rubens Farias
I don't have MSMQ in place and this is my main concern, starting one.Storing items in database is my favorite option, since is clean, easy to implement and is something I've done before.. 8-)
anon2009
If you have time, I would to suggest to learn MSMQ; if not, take that known road
Rubens Farias
Time is also an issue here, good point Rubens.
anon2009