Hi, I am trying to diagnose a bug in my node.js application. The problem is that, after leaving the node.js process running overnight, we consistently run into a situation where the HTTP parser in node core ends up devouring all CPU cycles and locking up the process. I know that it's the HTTP parser, because I've traced it with dtrace.
Please consider the following quick and dirty flamegraph visualization: http://37.153.104.73:8081/main.html This visualization uses the technique described here<http://blog.nodejs.org/2012/04/25/profiling-node-js/>. The slider at the top adjusts the hour when the trace was taken. The column on the left is the time spent in my application code, and the column on the right is the time spent by the HTTP parser. You can see that over the course of the night, more and more time is spent in the HTTP parser, until 3:00am, where literally all of the time is spent in the HTTP processor. Perhaps one thing that might be causing this is we are using the eventsource-node <https://github.com/aslakhellesoy/eventsource-node> library, which sets up long-lived HTTP connections. This problem occurs on Node.js 0.8 and 0.10, on 32-bit Linux, 64-bit Linux, and SmartOS. I don't have any experience diagnosing issues that originate in node core, so any guidance as to how to get started diagnosing this would be greatly appreciated. All of the trace data is available on the server I linked to above. Thanks for your help, Jake -- -- 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 --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
