Live data from Hacker News

StackOverflow Update: 560M Pageviews a Month, 25 Servers

highscalability.com

51–60 of 278 posts

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#51

Can anyone provide context on "Heavy usage of static classes and methods, for simplicity and better performance." Is performance _really_ an issue here?

I find the opposition to static classes odd. Unless you need the data encapsulation of an object, why force people to create an object to call functions? I find too much C# code loves creating objects for no real purpose other than that's how it works.

For SO, if we guess they max out around 2000 req/sec, then if a bunch of objects are being allocated for each request, there could be added GC pressure. From my own experience developing much higher-scale managed code, allocating objects is a real pain and people will take a lot of effort to avoid it.

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#52
post #44

Really hate the separate sites thing. I use a half dozen of them and they are computer related, so it is a pain in the ass always having to register and not being allowed to comment/answer at first, etc.. They have a few improvements now like importing your profile from other sites, but they shouldn't even have so many separate sites in the first place, just a tag or a category or something.

There is a deliberate reason the sites are split. Spolsky talks about in depth here: http://vimeo.com/37309773 Since it's largely sociological, it's also the reason my money is on SE as opposed to Quora in this space.

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#53
post #44

Really hate the separate sites thing. I use a half dozen of them and they are computer related, so it is a pain in the ass always having to register and not being allowed to comment/answer at first, etc.. They have a few improvements now like importing your profile from other sites, but they shouldn't even have so many separate sites in the first place, just a tag or a category or something.

You get +100 rep bonus for linking your accounts, so you shouldn't have a problem being allowed to comment.

You do need to have more than 200 rep on one site though.

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#54
Soooo... a average of 200 pageviews a second - I suppose that doesn't sound as cool.

Or, to put it another way; 1 server per 8 pageviews per second

Does not seem that efficient when you put it like that. Even a resource hog like a wordpress install can eclipse that level.

*made correction- still not impressed

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#55
So this is what, a 2000 request/sec peak? Over 11 servers, that's like 200 requests/sec peak per frontend?

The problem with scale-up is if you actually have to get a few times larger, it becomes super expensive. But fortunately hardware is increasing so much that you can probably just get away with it now. There's probably a crossover point we're rapidly approaching where even global-scale sites can just do all their transactions in RAM and keep it there (replicated). I know that's what VoltDB is counting on.

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#56
Relatively new stack dev here. I came in on the other side of the fence of a lot of these technologies (bread and butter is Python in Flask with Mongo on Heroku on a mac) but since I started here, I've been constantly and pleasantly surprised by how performant everything here has been despite my biases. It's mighty fun.

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#57
post #42
post #33

> The cost of inefficient code can be higher than you think. Efficient code stretches hardware further, reduces power usage, makes code easier for programmers to understand. I'm curious what the reasoning is for "Efficient code ... makes code easier for programmers to understand". To my mind, efficient code (in this case, I assume coding to the hardware, as they mention elsewhere), has many benefits, but making it ea…

users=db.get("SELECT name FROM users WHERE group='admin'") is more efficient and understandable then: users=[]; tmp=db.get("SELECT name,group FROM users") for (i=0;i

This is where a good abstraction layer can pay dividends. Of course, a bad abstraction layer (as evidenced by Spolsky's "leaky abstraction" post (http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...) on the opposite hand can add immeasurable cost.

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#58

Soooo... a average of 200 pageviews a second - I suppose that doesn't sound as cool. Or, to put it another way; 1 server per 8 pageviews per second Does not seem that efficient when you put it like that. Even a resource hog like a wordpress install can eclipse that level. *made correction- still not impressed

Well yeah, but these aren't just plain old text file of course. Database queries, assets, async clients, the whole lot.

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#59

Soooo... a average of 200 pageviews a second - I suppose that doesn't sound as cool. Or, to put it another way; 1 server per 8 pageviews per second Does not seem that efficient when you put it like that. Even a resource hog like a wordpress install can eclipse that level. *made correction- still not impressed

I think you're missing a 0 somewhere : 560000000 / (60 * 60 * 24 * 31) = 209

Re: StackOverflow Update: 560M Pageviews a Month, 25 Servers

#60

Soooo... a average of 200 pageviews a second - I suppose that doesn't sound as cool. Or, to put it another way; 1 server per 8 pageviews per second Does not seem that efficient when you put it like that. Even a resource hog like a wordpress install can eclipse that level. *made correction- still not impressed

You're off by a factor of 10. I have it at just over 200 page views per second. Also, that's the average load over a month. The same hardware needs to be able to handle peak load.
Post reply on HN