Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Necessary Performance Measures: npm at Scale

Necessary Performance Measures: npm at Scale

Talk on caching and distribution at MelbJS meetup in Melbourne, Australia

Raquel Vélez

April 30, 2014
Tweet

More Decks by Raquel Vélez

Other Decks in Technology

Transcript

  1. Package Management for Node.js • The Open Source Dream !

    • ~70k packages • up to 10 million downloads/ day
  2. 221,845,731) !10,000!! !20,000!! !30,000!! !40,000!! !50,000!! !60,000!! !70,000!! !80,000!! !90,000!!

    !-!!!! !10,000,000!! !20,000,000!! !30,000,000!! !40,000,000!! !50,000,000!! !60,000,000!! !70,000,000!! !80,000,000!! !90,000,000!! !100,000,000!! !110,000,000!! !120,000,000!! !130,000,000!! !140,000,000!! !150,000,000!! !160,000,000!! !170,000,000!! !180,000,000!! !190,000,000!! !200,000,000!! !210,000,000!! !220,000,000!! !230,000,000!! !240,000,000!! 8/29/12! 12/7/12! 3/17/13! 6/25/13! 10/3/13! 1/11/14! 4/21/14! Downloads)of)npm)packages)in)previous)month)) &)Total)number)of)npm)Packages)of)node.js)code) !!!Downloads!of!npm!packages!in!previous!month! !!!Total!Number!of!npm!Packages!
  3. Performance = Perception • Best request vs worst request •

    Focus on the few, super-slow instances: improve performance like whoa ! • Caching vs Distribution
  4. Split Load More boxes, more specialized boxes read-only, write-only !

    One process per box Redis, CouchDB, ElasticSearch