Handle node save concurrency Introduction

I need to prevent node update when two or more users try to update node on almost same instance (simultaneously) and instead put the requests in a queue and process one by one.

A live example

For node/1, if three users u1, u2, u3 try to update node, then only the user on the basis of "First Come First Serve" should be allowed to update the node(read &amp; write) and others should wait in a Queue.

If users u1, u2, u3 request one by one, In this case when the node update by u1 is completed successfully(until then don't allow next request to read data), then only allow u2 to process(read &amp; write), and similarly for u3 and so on.

Here read from u2 depends on final write by u1. One operation should be isolated.

Also the problem is with node_save(). It takes much time when the traffic is more. Is there any way to boost it.

System details:


  Drupal 7.22, 2013-04-03
  
  Mysql version: 5.1
  
  PHP : 5.3
  
  Apache: 2.4
There's a module called Content locking that covers your use case. 


  Block concurrent editing: When a user is editing a node, any other user that attempts to edit the same node will be blocked from doing
  so, and notified that the content is already being edited.


You can also adjust when a lock will expire if an edit is abandoned.