On Jul 25, 5:55 pm, Ryan Tomayko <[email protected]> wrote:
> > As I understand it, each "dyno" handles one connection at a time.  So,
> > N dynos means N connections at a time.
>
> Kind of. The request path through heroku looks something like this:
>
> Client -> Nginx -> Varnish -> Balancer -> Dyno

Right.  I should've said "request" instead of "connection".

> A dyno can process a single request at a time (1 dyno = 1 single
> threaded Thin process). Multiple requests from a single client -- even
> over a single keep-alive connection -- may be routed to different
> dynos. Requests backlog at the balancer and are not sent to a dyno
> until one is free.

Isn't the point of Thin to scale with many thousands of concurrent
connections (via EventMachine via epoll on Debian)?  Are you saying
that Thin is configured to only allow *one* connection at a time?

> That's right. Keep-alive can still reduce the number of connections
> each client needs to establish but long lived / streaming responses
> aren't possible with Heroku's architecture.

OK.  Thanks for the verification.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Heroku" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to