Simon Willison’s Weblog

Subscribe
Atom feed for scaling

134 items tagged “scaling”

2008

Facebook engineering notes on Scaling Out. Jason Sobel explains a couple of tricks Facebook use to deal with consistency between their California and Virginia data centres. The first is to hijack the MySQL replication stream to include information about memcached records to invalidate; the second is to use Layer 7 load balancers which inspect a “last modification time” cookie and send users to the masters in California if they have updated their profile in the past 20 seconds.

# 20th August 2008, 11:51 pm / facebook, scaling, memcached, mysql, replication, jason-sobel

Dark Launches, Gradual Ramps and Isolation: Testing the Scalability of New Features on your Web Site. Smart advice from Dare Obasanjo that extend the “dark launch” idea illustrated by Facebook chat a few weeks ago.

# 29th June 2008, 2:22 pm / dare-obasanjo, scaling, darklaunches, gradualramps, isolation, systemarchitecture, facebook

Dissecting today’s Internet traffic spikes (via) Theo Schlossnagle on how the increasing popularity of interest aggregation services such as Digg and Reddit result in traffic spikes that dwarf the old Slashdot effect, making a the old rules of thumb for capacity planning irrelevant.

# 29th June 2008, 2:12 pm / slashdotting, reddit, digg, theoschlossnagle, capacityplanning, scaling

Scoble writes something - 6,800 writes are kicked off, 1 for each follower. Michael Arrington replies - another 6,600 writes. Jason Calacanis jumps in - another 6,500 writes. Beyond the 19,900 writes, there's a lot of additional overhead too. You have to hit a DB to figure out who the 19,900 followers are. [...] And here's the kicker: that giant processing and delivery effort - possibly a combined 100K disk IOs - was caused by 3 users, each just sending one, tiny, 140 char message. How innocent it all seemed.

Isreal L'Heureux

# 23rd May 2008, 7:28 pm / twitter, scaling

Engineering @ Facebook: Facebook Chat. The new Facebook Chat uses Comet (long polling with a hidden iframe) against a custom web / chat server written in Erlang, designed to handle a launch to all 70 million users at once. It was tested using a “dark launch” period where live pages simulated chat request traffic without showing any visible UI.

# 15th May 2008, 7:55 am / facebook, comet, javascript, erlang, darklaunch, scaling

Internet Asshattery, Armchair Scaling Experts Edition (via) Leonard says what needs to be said about the most recent case of Twitter scaling flame-bait.

# 25th April 2008, 11:19 pm / twitter, scaling, leonardlin

Google App Engine. Write applications in Python using a WSGI compatible application framework, then host them on Google’s highly scalable infrastructure. The most exciting part is probably the Datastore API, which provides external developers with access to Bigtable for the first time.

# 8th April 2008, 7:25 am / googleappengine, python, bigtable, google, scaling, virtualisation, wsgi

Consistent Hashing. Beautifully clear explanation of consistent hashing, a simple technique that allows you to add new caching servers to a cluster without re-hashing your keys and hence invalidating all of your caches.

# 18th March 2008, 1 am / caching, scaling, consistenthashing, hashing

The GigaOM Interview: Mark Zuckerberg. Some interesting titbits on Facebook’s architecture.

# 11th March 2008, 5:41 am / facebook, architecture, mark-zuckerberg, scaling

Two data streams for a happy website. Useful architectural concept for scaling: keep user-specific and generic data separate from the start, in recognition of their different caching and partitioning constraints.

# 4th March 2008, 4:40 am / caching, scaling

2007

Eventually Consistent. Werner Vogels explains the trade-offs involved in building scalable, highly-available data stores such as Amazon’s SimpleDB.

# 20th December 2007, 5:59 pm / eventuallyconsistent, simpledb, amazon, scaling, wernervogels

Techniques for safely consuming external HTTP on demand? I asked this question on programming.reddit.com yesterday and got some really insightful answers, including Joe Stump from Digg describing how Digg Images uses Danga’s Gearman worker queue.

# 15th December 2007, 12:29 pm / http, queue, workers, gearman, reddit, askreddit, joe-stump, digg, danga, scaling

NginxMemcachedModule. nginx can be set up to directly serve a URL from memcache if the corresponding cache key is set, and fall back to a backend application server otherwise. Application servers can then write directly to memcache when content needs to be cached or goes stale.

# 15th December 2007, 1:59 am / nginx, memcached, memcache, scaling, caching

What You Need To Know About Amazon SimpleDB. Amazon have finally launched the database component of their web service suite. It fits a bunch of current trends: key/value pairs, schemaless, built on top of Erlang. “Eventual consistency” is an interesting characteristic.

# 14th December 2007, 11:21 am / amazon, simpledb, web-services, schemaless, erlang, hashtables, scaling, databases, charles-ying

Client Side Load Balancing for Web 2.0 Applications (via) I recall that early versions of Netscape picked a random server from a hard-coded list each time a user clicked the “What’s New” button, back before server-side scaling techniques were well understood.

# 5th October 2007, 11:29 pm / scaling, load-balancing, sitepoint, digitalweb, leizhu, netscape

Scale rails from one box to three, four and five. Excellent, concise run-down of what it takes to scale a web application. Most of the advice is easily portable to other frameworks.

# 30th July 2007, 1:40 pm / rails, scaling, courtenay

High Scalability (via) New blog about building scalable, reliable sites.

# 26th July 2007, 8:15 pm / calhenderson, scaling, highscalability

YouTube Scalability Talk. Kyle Cordes’ notes on a Google Tech Talk on scaling YouTube by Cuong Do.

# 14th July 2007, 10:26 pm / youtube, scaling, kylecordes, google, googletechtalk, cuongdo

SlideShare: Webapps scalability. Lots of great presentations on scaling, from Twitter, Digg, Vox, LiveJournal, Last.fm and more.

# 4th July 2007, 12:53 am / slideshare, vox, twitter, digg, livejournal, sixapart, lastfm, scaling

SELECT * FROM everything, or why databases are awesome. I’m beginning to think that for scalable applications the thinner your ORM is the better—if you even use one at all.

# 22nd June 2007, 12:40 am / rails, orm, blaine-cook, scaling, twitter, databases, sql

iLike: Holy cow... 6mm users and growing 300k/day! (via) Facebook platform offers a viral distribution mechanism for free. Downside: you have to double your capacity every few days.

# 13th June 2007, 9:02 am / marcandreessen, facebook, f8, ilike, scaling

Rapid development serving 500,000 pages/hour (via) Curse Gaming are getting impressive performance out of Django.

# 24th May 2007, 4:11 pm / django, scaling, performance, cursegaming, curse

Wikipedia internals (PDF) (via) A gold mine of scaling tips.

# 11th May 2007, 11:35 am / wikipedia, scaling

... Facebook has roughly 200 dedicated memcached servers in its production environment, plus a small number of others for development and so on. A few of those 200 are hot spares. They are all 16GB 4-core AMD64 boxes, just because that's where the price/performance sweet spot is for us right now.

Steve Grimm

# 3rd May 2007, 10:36 pm / memcached, facebook, scaling, steve-grimm

MintCache for Django. Caching scheme for Django that solves the dog-pile effect, where high traffic causes many processes to regenerate stale cached data at the same time.

# 2nd May 2007, 8:49 am / mintcache, caching, django, scaling, dogpile

The top 10 presentations on scaling websites: twitter, Flickr, Bloglines, Vox and more. I normally avoid linking to “top 10” lists on principle, but this one pulls together some great resources and adds extra context to each one.

# 1st May 2007, 1:51 pm / peter-van-dijck, flickr, bloglines, scaling, twitter, vox

Capacity Planning for LAMP (via) John Allspaw’s MySQL Conf 2007 talk on capacity planning (John is Operations Engineering Manager at Flickr).

# 27th April 2007, 8:41 pm / john-allspaw, mysql, scaling, capacityplanning, flickr

Scaling Twitter (via) Slides from Blaine’s recent talk.

# 23rd April 2007, 11:02 am / blaine-cook, twitter, scaling, rubyonrails

In the big picture, Twitter did exactly the right thing. They had a good idea and they buckled down and focused on delivering something as cool as possible as fast as possible, and it's really hard, in early 2007, to beat Rails for that. When all of a sudden there were a few tens of thousands of people using it, then they went to work on the scaling.

Tim Bray

# 14th April 2007, 9:13 am / twitter, tim-bray, rails, scaling

The promise [of J2EE] was that of infinite scalability based on tooling, which assumes that designing scalable systems is a general case problem. I now firmly believe that this is flawed reasoning. Frameworks don't solve scalability problems, design solves scalability problems.

Ryan Tomayko

# 14th April 2007, 2:35 am / scaling, ryan-tomayko, j2ee, java, frameworks