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
