It depends on how much work the callbacks were doing on each read - my
echo server test case hits this issue at around 200mbits/s on my
machine, and we were sometimes seeing this on production servers which
were doing a lot of work (and definitely no where near that
throughput, though it was backend servers communicating over loopback,
so a very low latency link).  If your callback just does Sleep(1000)
for each byte, this happens at a transfer rate of 2 bytes/second - by
the time the callback is done, if there was more data that's made it
through the OS/networking layer into uv, it'd just continue reading it
and calling callbacks.

On Jun 7, 6:53 am, Ben Noordhuis <[email protected]> wrote:
> On Thu, Jun 7, 2012 at 3:36 PM, Brad Carleton <[email protected]> wrote:
> > I was looking at this on the bullet points for the 0.6.19 release, and
> > was wondering what this was?
>
> > I have had issues with strange delays when doing large numbers of
> > outbound requests from nodejs.  I don't know if this has anything to
> > do it with it or not though.
>
> Probably not, you're not likely to run into that particular issue in a
> real-world scenario. The commit log[1] explains it in some detail.
>
> Starvation only happened when data came in faster than node / libuv
> could read it, which is unlikely even with a high-speed connection. I
> was only able to reproduce it at a transfer rate of ~20 Gbit/s.
>
> [1]https://github.com/joyent/libuv/commit/738b31e

-- 
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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to