title: MongoDB-Java performance with rebuilt Sync driver vs Async
body: <p>I have been testing MongoDB 2.6.7 for the last couple of months using YCSB 0.1.4. I have captured good data comparing SSD to HDD and am producing engineering reports.</p>
  
  <p>After my testing was completed, I wanted to explore the allanbank async driver. When I got it up and running (I am not a developer, so it was a challenge for me), I first wanted to try the rebuilt sync driver. I found performance improvements of 30-100%, depending on the workload, and was very happy with it. </p>
  
  <p>Next, I tried the async driver. I was not able to see much difference between it and my results with the native driver.</p>
  
  <p>The command I'm running is: </p>
  
  <pre><code>./bin/ycsb run mongodb -s -P workloads/workloadb -p mongodb.url=mongodb://192.168.0.13:27017/ycsb -p mongodb.writeConcern=strict -threads 96
  </code></pre>
  
  <p>Over the course of my testing (mostly with the native driver), I have experimented with more and less threads than 96; turned on "noatime"; tried both xfs and ext4; disabled hyperthreading; disabled half my 12 cores; put the journal on a different drive; changed sync from 60 seconds to 1 second; and checked the network bandwidth between the client and server to ensure its not oversubscribed (10GbE).</p>
  
  <p>Any feedback or suggestions welcome.</p>