Ruby has many different web server options, covering a gamut of possible concurrency architectures. We will look at what those concurrency options are, and at what their respective theoretical costs and benefits are.
We will then look at a reference ruby web server implementation that can have each of these different concurrency architectures plugged into it, and examine how its performance under load varies with each of those architectures.
We'll wrap it all up with a summary of the results, and a look at which Ruby web servers fall into which categories of concurrency architecture.