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.

Reply via email to