So lately I had to speed up the server with my colleagues at work so it could process requests faster. In our case we have a lot logic that needs to be executed which takes a bit of processing power, it's not a normal web server that just renders a simple page. There are tens of thousands of lines of code that need to be executed and not a couple of hundreds or a few thousands in the case of a normal web server. And to successfully process a request a lot of times the server needs to put the request on-hold until it receives all information about that request freeing that thread to process another request. This is the first place where performance issues can arise because of context switching. Once a request is put on-hold and after that reprocessed, all the context must be restored. This can involve loading heavy stuff from the database. Ideally you should make sure that you load the context from the database once a request is actually ready to be processed and once all the requ...