On Nov 21, 2015, at 10:18 AM, Gabor Szabo <[email protected]> wrote:
> 
> that server is only capable to serve one client at a time.

While that is true, you need to keep that in perspective.  “One client at a 
time” does not mean that you can’t have hundreds of people staring at a browser 
window that has rendered HTML returned from your app.  Nor does it mean that if 
two of those users simultaneously click a link on that page that only one of 
those users will get content back.

The only downside of running with the “simple” default web server is that if 
two simultaneous HTTP connections come into the web server, the server will 
handle one, then the other, in whatever order the kernel serializes the 
connections.

This means that if you write your Dancer route handlers to be efficient, so 
that they return within a few milliseconds at most, you can in effect serve a 
great many clients, since most of them will be idle most of the time.

The single-threaded web server only breaks down when you start getting to load 
levels where the server is handling at least one connection all the time, so 
that allowing to to handle a second or third in parallel can provide some 
benefit.

Think of it like a highway: for almost all practical cases, a simple 2-lane 
highway suffices.  You only need more than one lane in a given direction when 
the traffic load increases to the point where traffic would be bumper-to-bumper 
without the extra lane(s).
_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users

Reply via email to