I am doing some heavy statistic in node, so I forked the computation off to a child process where the child process will handle all the mongo query and loop through data etc and finally sends the result back to mother process. It's working all fine with relatively small data set.
But when the data gets large enough, the communication seems to be choked or something went wrong during the send back. The return data is fairly large HighChart Object which contains over 200k data point, I am able to log the message right before the child process invoke process.send(data), and the cpu activity just drop to almost 0 on the child process, which the mother process cpu usage got cranked way high, and just stay there and not dropping down. At that point the process seems just hang ( well not hang, cuz it's still responding to other request ), but the process.on('message',function(){}); is not triggered even I just let it sit there and run.
Is there a limit on the size where the IPC can handle for node? Is there anyway around this or some hack to it? Some people suggested to use TCP or other IP protocol instead of IPC, but it kinda complicates the issue with managing the child life span a bit.
Also is there any free tool that makes debugging node a bit easier beside just using console.log ?
Thank you very much for the help in advance
Regards. G