I got that part (barman and beers are nice :P). I envisioned that the threaded servers start one thread per request, and that thread closes when the request ends. So, if only 1 thread is available at most, basically all the requests have to be served serially (the server queues them and pass it to the "execution environment" only 1 at a time). With that in mind, without exxagerating the numbers (e.g. 100 threads), I thought that the achievable concurrency in threaded servers related semi-linearly with the number of available threads, but it seems that this is not the case. I expected at least a higher response-time (calculated from the moment ab issues the request to the moment it receives the 1st byte back from the server) with 1 thread max.
BTW, with 2 threads rps is 26.08, 99% served within 7566 ms. --