14 comments

[ 4.1 ms ] story [ 47.7 ms ] thread
This article seems to bury the main point:

we're currently getting about 30M hits a month on our API

If you're getting a million API requests a day, you can probably handle that load with a single machine. Indeed, it looks like they are using just one load balancer machine, one app server, and one db server. I'm not sure why the load balancer is even necessary. It's cool to hear this story, readers should just keep in mind that this is not really a "web scale" deployment.

Yea a million requests per day is almost nothing and could certainly be easily served by ANY RDBMS using ANY front-end technology from a single server.
Not necessarily. If the hits are not distributed equally, you can get 500k hits in 2 hours (say lunch time in a big city in a small country).
And why not? To me it sounds as a very good "web scale" start.
In the setup described here (it has changed a bit in the 6 months since this article was written) Varnish was being used primarily for caching and sending needed requests to the single application server. Calling it a load balancer at that point was a simple misnomer.

Today we still have Varnish at the front of our stack for caching and also use it as a load balancer for a handful of application servers.

Traffic spikes heavily in the evenings, when people are watching TV. You're still right, but the point isn't necessarily that we're currently scaled out, but that I think we could with this setup.

We've since added several app servers, and done some heavy load testing. I should probably do a follow-up with some new results.

randall: You really felt the need to repost this old article again?

http://news.ycombinator.org/item?id=2861821

Hahaha I thought this looked familiar...

His feed just refreshed in my feed reader... And I use news.yc as a bookmarklet to save interesting stuff.

Sorry bout that.

> What MongoDB really does well, though, is make every JOIN explicit.

And SQL doesn't?

Even better, EXPLAIN SELECT makes everything explicit.
Does anyone know what the difference in performance between a MongoDB that stores its entire data in memory, and a SQL Server (MSSQL, Oracle, Mysql, Postgres, etc) that stores its entire data in memory? Is the performance for MongoDB faster than the corresponding SQL server?
Yes, due to absence of SQL parsing and MVCC
Thanks. Would you know if it's a big difference, or just incrementally faster (~10%)?
It will depend on the type of workload. Some types will be faster, some will be slower. You'd have to run your own tests to see.