title: python use multi thread to read from mongo slow
body: <p><code>
  Just link the title, when I use multi thread to read the data from mongo, not fast even equal to only one process, is there something wrong i use?
  </code></p>
  
  <p>My multi thread code is just like the following:</p>
  
  <pre><code>def multi_thread_flush(logger):
      n_loops = 20
      locks = []
      for i in range(0, n_loops):
          lock = thread.allocate_lock()
          lock.acquire()
          locks.append(lock)
      try:
          for i in range(0, n_loops):
              thread.start_new_thread(get_node_entry_id,
                                  (logger, 0 + 400000 * i, 400000, locks[i],))
          for i in range(0, n_loops):
              while locks[i].locked(): pass
          logger.info("[all down] all down")
      except Exception as e:
          logger.error("exception: %s" % e)
  
  def get_node_entry_id(logger, num1, num2, lock):
      cursor = client.mongo_collection.find({},no_cursor_timeout=True).skip(num1).batch_size(30)
      count = 0
      for item in cursor:
          if count &gt; num2:
              break
          logger.info("%s" % item["_id"])
          count = count + 1
      lock.release()
  </code></pre>
  
  <p>My one process code is like the following:</p>
  
  <pre><code>def get_node_entry_id():
      cursor = client.NodeEntry.find({}, no_cursor_timeout=True).batch_size(30)
      for item in cursor:
          print item["_id"]
      client_c.close()
  </code></pre>
  
  <p>I try to change batch_size from 300 to 3000, but improve small. </p>