title: Optimizing MongoDB for reads
body: <p>I'm using MongoDB as a read only document source, used for computing statistics.  Each document has no subdocuments, but the database has approximately ~900k documents and will grow by ~ 1k documents each day, added at a time where the database will be idle.</p>
  
  <p>So, I'd like to understand the following things:</p>
  
  <ol>
  <li><p>I've read that MongoDB works best when the entire collection is stored in RAM. Assuming my database is ~400MB and our server can easily cram the whole thing into RAM, is there a way I can tell MongoDB to pre-load my entire collection into RAM?</p></li>
  <li><p>I've also read that there are cases where creating replica sets will help with the read performance of the database.  Is my scenario one of the cases where this will help?</p></li>
  <li><p>I'm threading my statistical calculations, but notice that the amount of time to complete the queries I run against mongoDB when doing these calculations triples when I thread them as opposed to running them synchronously.  Is there anything I can do to improve the performance of the DB when I'm making requests against the same collection simultaneously?</p></li>
  </ol>