scaling quizlet

Post on 12-Nov-2014

782 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Scaling Quizlet

Andrew SutherlandFounder

Friday, April 20, 12

Quizlet.com

We provide educational tools for millions of kids.

Friday, April 20, 12

• 70M pageviews/mo

• 7.5M uniques/mo

• Quantcast US Rank: #385

• 99.97% uptime this year

Traffic

Friday, April 20, 12

Traffic Pattern

6x growth in 4 weeks, every yearFriday, April 20, 12

• 160 GB in MySQL

• 1.1B rows in `answers` table

• One big 48GB master does it all (are we crazy?)

Data

Friday, April 20, 12

• 2 Load Balancers

• 3 Web Servers

• 2 Database machines

• ~15 machines doing services

Architecture

Friday, April 20, 12

Page requests: - 750 rps peak - 300 rps avg

Memcached: - 2,500 qps peak - 1,000 qps avg

MySQL:- 1,100 qps peak- 465 qps avg

Throughput

Friday, April 20, 12

Removing joins.

Putting all ID-based lookups in memcached.

3x’d our performance overnight,prevented complicated architecture

Biggest single win(2010)

Friday, 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 here

Friday, April 20, 12

AVERAGESSUCK

Friday, 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 viewer

Friday, April 20, 12

And our super-crappy,super-awesome App log viewer

Friday, April 20, 12

Check out our super-crappy,super-awesome Log Viewer

Our log viewer

Friday, April 20, 12

YOUR LOGSARE

RELATIONALFriday, April 20, 12

• User ID• IP address• Type• Frequency• Type+Frequency• Response times

Log lookups by

Friday, April 20, 12

Scalable diagnosis of user issues with

feedback(demo)

Friday, April 20, 12

We built a game in Node.

It rocks.

The Future

Friday, April 20, 12

We built a game in Node.

It rocks.

Future

Friday, April 20, 12

We built a game in Node.

It rocks.

Future

Friday, April 20, 12

Single user might have 5 messageswith the server in 1 second.

Connection lasts 30 minutes,not 100ms.

New Scaling Story

Friday, April 20, 12

We’re exploring this now.And need help.

Scaling node

Friday, April 20, 12

Random Tips

Friday, April 20, 12

http://showmewhatswrong.com/

Show Me What’s Wrong

Second coolest website ever.

Friday, April 20, 12

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.

Poor man’s SMS alerts

Friday, April 20, 12

Get the New Relic Menu BarAlways know about how much traffic you have.

Ambient Traffic Awareness

(Available in Mac App Store)

Friday, April 20, 12

Use Vogue!

Never refresh for CSS again!

Voguegithub.com/quizlet/vogue

Friday, April 20, 12

Thanks!

Follow:@asuth

@quizlet

Friday, April 20, 12

top related