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

Transcript

16 slides
  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

More Decks by Raquel Vélez

Other Decks in Technology