title: npm search takes a long time
body: <p>In general npm search behaves strange, it takes a very long time, and it varies in order and time, from time to time. </p>
  
  <p>The first time I wrote</p>
  
  <pre><code>$ npm search jquery
  </code></pre>
  
  <p>it took more than two minutes. Subsequent searches have taken around 30 seconds. Sometimes I get the matches before the http request, sometimes the other way around:</p>
  
  <p><strong>Matching results first</strong></p>
  
  <pre><code>$ npm search jquery.appendgrid
  NAME               DESCRIPTION                                         AUTHOR      DATE              VERSION KEYWORDS
  jquery.appendgrid  appendGrid - The dynamic table input jQuery plugin  =hkalbertl  2014-12-21 08:09  1.5.1  jquery-plugin ui header-detail master-d
  npm http GET https://registry.npmjs.org/-/all/since?stale=update_after&amp;startkey=1419625615355
  npm http 200 https://registry.npmjs.org/-/all/since?stale=update_after&amp;startkey=1419625615355
  </code></pre>
  
  <p><strong>Matching results last</strong></p>
  
  <pre><code>$ npm search jquery.appendgrid
  npm http GET https://registry.npmjs.org/-/all/since?stale=update_after&amp;startkey=1419625643062
  npm http 200 https://registry.npmjs.org/-/all/since?stale=update_after&amp;startkey=1419625643062
  NAME               DESCRIPTION                                         AUTHOR      DATE              VERSION KEYWORDS
  jquery.appendgrid  appendGrid - The dynamic table input jQuery plugin  =hkalbertl  2014-12-21 08:09  1.5.1  jquery-plugin ui header-detail master-d
  </code></pre>
  
  <p>In either case it takes around thirty seconds. Since it takes less than the initial two minutes I guess something has been cached, but it still makes a http request, and it still takes surprisingly long. It's not the time between the first http line and the second, that only takes 1-2 seconds. But there is a lot of waiting time both before and after. </p>
  
  <p>What is going on, and can I speed it up?</p>