Best Practices For High Performance Transactions In IIS
Posted on 2016-09-26
I'm looking for IIS configuration best practices for receiving many short lived calls to a web service to allow high transaction volume. I plan on having about 10 websites with hundreds of users each. Each user session in the web application will send a small piece of data to my collection web service every few seconds. The data would only be a few bytes and would be sent from the client using ajax to the HTTP service in the collection web app.
I plan on making the collection web app it's own website in IIS dedicated to only receiving these small pieces of data since it could potentially be receiving hundreds of connections per second and this is where I am looking for best practices/suggestions for how IIS should be configured. The webservice will receive the data and insert it into a database table. The database performance is not really the subject of this question but I will accept any architecture suggestions as well if I shouldn't be doing an insert with each call to the service.
So far I have disabled logging for the collection website, kept data sent to the service as minimal as possible(not sure if http compression would still be beneficial here), ensured a small timeout is set for inserting into the database (data loss is acceptable), disabled session state.