My Scaling Hero

Inspiration for Stack Overflow occasionally comes from the unlikeliest places. Have you ever heard of the dating website, Plenty of Fish?


This is a companion discussion topic for the original blog entry at: http://www.codinghorror.com/blog/2008/12/my-scaling-hero.html

There is a wicked article about how he scaled at:
http://highscalability.com/plentyoffish-architecture

But it is definitely not a credit to asp.net, he used none of their controls. We are doing the same with the web app we are building, we use all the ado.net, .net xml classes and the rest of the framework except asp.net controls. We found the controls generated WAY too much html for our complex UIs. We do use http handlers and some webservices for our ajax stuff.

He’s got some of the worst HTML soups ever: mixed case, tables and bad javascript… yeah i’m envious of his success! :wink:

Wow, it is great to see others, starting a web site, and making loads of income from it. Mostly, unexpectedly.

Also, this is just a testiment to the power of the word FREE, has on people.

Sure you can goto match.com or eharmony.com or millionairematch.com and PAID, but it goes to show, that a BASIC site design, with little to no CSS site design or fansy business front, is needed.

I myself run very successfull advertising sites, using the power of FREE.

I love this kind of post because sometimes is very hard to find information of this type with real numbers. I don’t want to debate about other technologies here or what/who is better, but I would love to hear/read about other combination of OS + Web Framework + DB with real numbers, any link/references posted here would be awesome.

3 Ibillion/i rows?

Do I want to know what that’s a table Iof/I?

Part of why he was able to run so much on one server was that he didn’t use web forms, server controls, etc. Raw string concat

Isn’t that pretty much how ASP.NET MVC works? It’s certainly one of the reasons I chose it… just get the heck out of my way!

So he’s got 16 CPUs for the app servers and they are doing 500-600 hits a second. ie 37.5 requests a second. That is about right really.

Take a pretty normal Ruby on rails application and a single CPU will do about the same. Of course scaling it so linearly so easily is the key here but even so its not uber, its about right. Now if we were seeing 70 hits/sec then this would be about twice as fast as most sites can do and that would be special.

Jeff give us some simillar statistics regarding StackOverflow.com please :slight_smile:

Isn’t that pretty much how ASP.NET MVC works?

MVC is a lot closer to that than Web Forms. But it still goes through the rendering pipeline, has master pages and user controls, route resolution, parameter binding, … Markus’ version is just about as close to the metal as ASP.NET can get.

I have to admit, I always look forward to Catto’s comments.

Love ya Catty

More interesting than the scaling strategy (of which there are plenty of descriptions already on sites like highscalability.com) is the Plenty of Fish owner’s position that free does not scale. he makes some very interesting arguments; it would be a lot more interesting to have Jeff’s take on that !

(edit: … rather than a passing reference to that argument; this is a really contentious issue, and the contrarian position is poorly explored)

Here’s an interview and tour with Frind from his Vancouver host Peer1:

http://www.peer1.com/aboutus/customer_stories_plentyoffish.php

@Paul Keeble, You have any high-scalability stats or links to back that rails claim up? I’m not a rails-hater, but last I heard rails wasn’t ‘linearly scalable’ and nobody pretends it is.

It appears most of POF’s high availability tricks are applicable to any language. All it’s doing is reducing framework overhead. When you add generic frameworks (web forms, rails, mvc) you’re making it easier and less buggy to program against, but you also make it slower overall. For most websites this is okay because you just chuck a little more hardware at it and the problem goes away.

This isn’t the case for high-traffic websites, which is the whole point of the blog post.

Anyways it just goes to show you that how the program works (any program) is more important than how slick it looks. I’m also impressed that this is just 1 guy working away.

What I’d also like to know are the economies involved. The revenue from ads is high, and 2 servers aren’t that expensive, but what is the bandwidth bill like?

Idea counts, dev’t is the issue of Developers, not of users. People would still go for a DOS based app if you give 'em what they need!

Don’t worry. SO has started good. We are all lookin’ forward to its massive success.

How is Stack Overflow doing? I see it’s up to 50,000+ questions. How many users? How many hits? Are you seeing any issues with scaling?

I haven’t noticed any performance related issues. My biggest problem with the site is the signal-to-noise ratio seems to be falling due to the sheer volume of questions and answers. I wish there were more ways to sort and analyze the questions to help me find what I’m looking for faster.

Sigh. Another poor domain name choice (a la expertsexchange) – I read that one as plenty offish.

Yes. Back in the good old days, the programmer was much more of a tyrant. He had absolute control over everything.

Now, with the advent of - open source libraries, internet, web services, write once run everywhere languages, external data sources, dynamic loading of code even in statically typed languages - you write a program of 1000 lines which is nothing more than the tip of a 100,000 lines ice-berg. The other parts were written by other guys, who will maintain them, change them, sometime remove them, without consulting you.

Programming is now much closer to democracy (some may say, anarchy). By the people. For the people.

Hmmm, www.okcupid.com is about 10x better in every way, and is also completely free. Plenty STILL stretches uploaded user images into squares making its thumbnails useless. Plus, the people on it are generally, to be frank, trashier than those on OKCupid.