Scaling Quizlet
Upcoming SlideShare
Loading in...5
×
 

Scaling Quizlet

on

  • 723 views

 

Statistics

Views

Total Views
723
Views on SlideShare
723
Embed Views
0

Actions

Likes
0
Downloads
2
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Scaling Quizlet Scaling Quizlet Presentation Transcript

  • Scaling Quizlet Andrew Sutherland FounderFriday, April 20, 12
  • Quizlet.com We provide educational tools for millions of kids.Friday, April 20, 12
  • Traffic • 70M pageviews/mo • 7.5M uniques/mo • Quantcast US Rank: #385 • 99.97% uptime this yearFriday, April 20, 12
  • Traffic Pattern 6x growth in 4 weeks, every yearFriday, April 20, 12
  • Data • 160 GB in MySQL • 1.1B rows in `answers` table • One big 48GB master does it all (are we crazy?)Friday, April 20, 12
  • Architecture • 2 Load Balancers • 3 Web Servers • 2 Database machines • ~15 machines doing servicesFriday, April 20, 12
  • Throughput Page requests: - 750 rps peak - 300 rps avg Memcached: MySQL: - 2,500 qps peak - 1,100 qps peak - 1,000 qps avg - 465 qps avgFriday, April 20, 12
  • Biggest single win (2010) Removing joins. Putting all ID-based lookups in memcached. 3x’d our performance overnight, prevented complicated architectureFriday, April 20, 12
  • Watching syscalls with DTrace dtrace -n syscall::open:entry { printf("%s %s",execname,copyinstr(arg0)); } Found PHP opening files because of require_once(). Switched to require().Friday, April 20, 12
  • Need better visibility into apps Site got 2x faster hereFriday, April 20, 12
  • AVERAGES SUCKFriday, April 20, 12
  • Enter New Relic (live demo)Friday, April 20, 12
  • New Relic isn’t enough.Friday, April 20, 12
  • Check out our super-crappy, super-awesome Inline I/O viewerFriday, April 20, 12
  • And our super-crappy, super-awesome App log viewerFriday, April 20, 12
  • Our log viewer Check out our super-crappy, super-awesome Log ViewerFriday, April 20, 12
  • YOUR LOGS ARE RELATIONALFriday, April 20, 12
  • Log lookups by • User ID • IP address • Type • Frequency • Type+Frequency • Response timesFriday, April 20, 12
  • Scalable diagnosis of user issues with feedback (demo)Friday, April 20, 12
  • The Future We built a game in Node. It rocks.Friday, April 20, 12
  • Future We built a game in Node. It rocks.Friday, April 20, 12
  • Future We built a game in Node. It rocks.Friday, April 20, 12
  • New Scaling Story Single user might have 5 messages with the server in 1 second. Connection lasts 30 minutes, not 100ms.Friday, April 20, 12
  • Scaling node We’re exploring this now. And need help.Friday, April 20, 12
  • Random TipsFriday, April 20, 12
  • Show Me What’s Wrong Second coolest website ever. http://showmewhatswrong.com/Friday, April 20, 12
  • Poor man’s SMS alerts Setup GMail filter for SMS 1. Add filter for name+sms@hotstartup.com 2. Forward to 4155551234@vtext.com (VZW) 3. Your app can now text you anytime, for free.Friday, April 20, 12
  • Ambient Traffic Awareness Get the New Relic Menu Bar Always know about how much traffic you have. (Available in Mac App Store)Friday, April 20, 12
  • Use Vogue! Never refresh for CSS again! Vogue github.com/quizlet/vogueFriday, April 20, 12
  • Thanks! Follow: @asuth @quizletFriday, April 20, 12