Slide 1

Slide 1 text

killing servers with music graphing Andrew Godwin www.aeracode.org (or, how I learned to stop worrying and love the load averages)

Slide 2

Slide 2 text

last.fm profile history visualiser

Slide 3

Slide 3 text

August July May 2007 June Cascada Mika Mika Mika Anda in Anda in Black Mesa Source D.H.T. D.H.T. DJ Sammy DJ Sammy DJ S a mmy Faithless Hybrid Hybrid Hybrid Hybrid The Postal Service T h e P o sta l S e rv ice Chicane Chicane Chicane Chicane Robert Miles Robert Miles Milk Inc. Milk Inc. ATB ATB Nightwish Nightwish Nightwish Groove Coverage William Orbit William Orbit William Orbit William Orbit Moby Moby S y lv e r Novaspace Sash! S a sh ! Ha n s Z imme r Murray Gold Clint Mansell

Slide 4

Slide 4 text

svg downloader lastgraph pdf renderer lastgraph (graphication) amazon s3 user

Slide 5

Slide 5 text

last.fm's API: 1 request per second Each user: ~50 requests This is fine if you're only getting a user a minute... Solution? Ask them nicely to let y ou have 10 per second. Worry about getting a user every few seconds.

Slide 6

Slide 6 text

I have live graphing (simpler ones made on the fly) This hurts CPUs I don't have many CPUs Solution? Get more CPUs

Slide 7

Slide 7 text

I was using mod_python So, a Python interpreter per Apache process I don't have that much memory Solution? Use FastCGI. Or buy more memory.

Slide 8

Slide 8 text

(which may or may not work)

Slide 9

Slide 9 text

Andrew Godwin www.aeracode.org