http.Server supports pipelining, but http.ClientRequest does not.
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to nod...@googlegroups.com
> To unsubscribe from this group, send email to
> nodejs+un...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
The problem with pipelining is that the responses must be sequential. So, if you're talking to CouchDB and you do one big bulk read and then 7 small reads the small reads will all have to wait for the big bulk read to finish. With keep-alive and pooling you're optimizing for concurrency and you're assuming the benefits will outweigh the extra roundtrips to setup up the extra pooled connections.
It's a tough balance but in my experience it's better to do keep-alive + pooling with HTTP because the time it takes for a response to return is usually greater than the roundtrip if you're making enough requests for this to matter. However, something like Redis is much better suited to pipelining because requests are returned almost immediately and what you mainly want to do is cut down on roundtrips.
-Mikeal