If our web application has requests that take a relatively long time process, and if there are several clients connecting at the same time, they can easily tie up all the process of the web server. Creating more workers is possible, and as our benchmark shows it can provide good performance, but each such worker is a separate process. They require both memory allocation and processing power.

An alternative is to use an asynchronous web server, such as Twiggy, that can handle a lot of request in a singple process.

Of course we can't just start using Twiggy, for this to work well, we'll also have to rewrite the application.