title: Node.js Non Blocking Nature
body: <p>I am new to node.js and still trying to understand the philosophy behind it . As I learned , node.js runs in one process only as opposed to php which opens a process\thread for each request. And while you can say Node is 'non-blocking' for i/o , it is blocking for requests(the requests pile up since there is no new thread for each new request) and theoretically if you've written a node.js app that doesn't deal fast with each request you get in trouble.</p>
  
  <p>My question is this - how can I tell if a certain handling of a request takes too long so that it will block all other requests for too long and hinder the performance of my app ? </p>
  
  <p>I know that all the 'heavy' actions on the server (db querying , file system searching) are done by callbacks and therefore cannot block node. However what if all other operations that are done synchronously by the server to handle a request just take too long ?  </p>
  
  <p>For example- the server needs to write a lot of html to the response . What happens then ? </p>
  
  <p>How can the node programmer know if he's doing too much with a certain request (in a blocking manner) , is it experience , intuition or are there clear guides on how to do it ?</p>