Earlier quoted context omitted.
The duration of the downtime seems to have been dependent on not just disk throughput, but also network and CPU throughput. Eliot did mention that a large portion of the downtime was partly caused by the slowness of EBS. Making a rough estimate, I think the downtime would probably be about 2/3 of how long it was if it had been on an SSD RAID. However, then you run into the issue of having to maintain your own servers…
It's an interesting angle if that's the reason they are using EC2. Dedicated hosting might be more expensive, but hardware managed is pretty efficient at this point. Also, given the vast number of EC2 instances they could afford, it seems counter intuitive to be running only two mongrel shards. If you are that stingy about spreading data around, you might as well be using dedicated.
MongoDB's lead developer: Foursquare outage post mortem
151–160 of 184 posts
Re: MongoDB's lead developer: Foursquare outage post mortem
#152Re: MongoDB's lead developer: Foursquare outage post mortem
#153Why they have only two database servers running (with their database in memory, no less) with 200 million check-ins, is completely beyond me.
They actually said 4. Two shards with slaves for redundancy. It was apparently working fine until they lost track of what was going on. :)
I know hindsight is 20/20, but I can't imagine the foresight was any worse than 20/30.
Re: MongoDB's lead developer: Foursquare outage post mortem
#154Earlier quoted context omitted.
The duration of the downtime seems to have been dependent on not just disk throughput, but also network and CPU throughput. Eliot did mention that a large portion of the downtime was partly caused by the slowness of EBS. Making a rough estimate, I think the downtime would probably be about 2/3 of how long it was if it had been on an SSD RAID. However, then you run into the issue of having to maintain your own servers…
It's an interesting angle if that's the reason they are using EC2. Dedicated hosting might be more expensive, but hardware managed is pretty efficient at this point. Also, given the vast number of EC2 instances they could afford, it seems counter intuitive to be running only two mongrel shards. If you are that stingy about spreading data around, you might as well be using dedicated.
Re: MongoDB's lead developer: Foursquare outage post mortem
#155Re: MongoDB's lead developer: Foursquare outage post mortem
#156Re: MongoDB's lead developer: Foursquare outage post mortem
#157so, in short, a company relying entirely on cloud computing machines for storing its data, which is presumably being billed according to the memory usage of those machines, ran out of memory on them, and suffered a large amount of downtime as a result. mongodb had little to do with the problem, other than maybe it took longer than expected to migrate data to a third server. i'm baffled at how there could be no monito…
Exactly. How the hell does a fast growing well funded 24 employee startup NOT have load monitoring on their database servers! Pay the 10c the hour for a micro EC2 instance and run Zabbix or one of the half dozen other awesome monitoring packages out there.
Re: MongoDB's lead developer: Foursquare outage post mortem
#158This may be a little naive seeing as I haven't used MongoDB or know anything about foursquare architecture, but wouldn't a better result have been just to drop requests that were hitting the disk? Sure some people would have been getting a sub optimal experience but arguably it's a lot better than not having your service up at all.
Re: MongoDB's lead developer: Foursquare outage post mortem
#159The "give a crap" factor at 10gen is nothing short of amazing. The company I work at has been using Mongo for a while, and anytime we've had an issue, Eliot has been right there to help us. Mongo is a great product, but like anything, it has its limits. Learning those limits and taking the time to plan your infrastructure is a mandatory part of adopting any technology, and Mongo is no exception. On a more technical n…
are you sure? i thought it runs well on one server and even in some sort of run-locally setup.