Web Tools for WoW Nerds
I went ahead and started the process for getting an honest-to-god dedicated server for raidbots. Lots more disk than I currently have, a little more RAM, and a decent dedicated processor. Once I have access, I’ll be starting to set up the new machine and migrating the code and data over. It’ll probably take a week or two to find the time to get it all set up and working (not to mention handling DNS and all that fun with minimum downtime). This is going to take precedence over any other development but once it’s done I’ll be able to dive headlong into making sense of the huge data dump WOL is providing me. First task once the migration is done – playing around with the Top DPS Bot and possibly creating the Average DPS Bot (to answer the age old question “what is the ACTUAL average DPS across all levels of raiding players (that log to WOL)?”
Nerdy Server Stuff
Onto the details! I’m moving from Linode to Server Beach. I love Linode and am sad to leave but they just don’t offer disk space at a price I can afford. I’m using Mongo as the database for raidbots and my usage require a ton of disk space – I could probably reduce the size of each document by compressing keys more intelligently but the rate of growth would likely still require moving to a server with proportionally more disk space than RAM and CPU. Also, at this point, I’d rather keep the keys in the documents as readable as possible to make it easier to develop against.
Turns out that most cloud hosting tends to have really limited disk options. Most of the disk sizes scale in lock step with the amount of RAM on the node. Elastic Hosts was one exception with reasonable prices but their one datacenter in San Antonio has a pretty high latency to Boston (where I live and develop). In addition, their bandwidth was pretty expensive. Amazon’s EC2 tended to be far too expensive for me as well – also, any solution that requires a price calculator that is more complicated than raidbots itself is probably more than I want to deal with.
The new server is a Core 2 Duo 6750, 2GB RAM, 2×160 GB drives, and essentially unlimited bandwidth (10Mbit NIC). Hopefully I should actually get access to it in a day or two and can start the process of configuring Debian, setting up Mongo/Apache/PHP/etc/etc/etc, and start migrating the code and data.
I’m also hoping that a few downtime blips might have been caused by being on a shared machine. There was a 5-10 minute downtime this week that seemed to be related to Mongo taking a long time to flush data to disk. I’m not sure if this is just going to end up happening with a single Mongo instance or if the disk my nodes were using were being saturated by another machine on the same physical host. We shall see! At least with a dedicated server I’ll know that it’s my own fault if there’s a massive performance problem. I’m a little worried that running everything on one box might end up causing some RAM contention issues (Mongo likes to slurp up every bit of available RAM but theoretically should let go of it if needed) but there’s only one way to find out.
Anyway, I’m excited if you couldn’t tell. Once this is set up, I should be able to jump back into developing code and doing cool stuff with the new data. It’ll be a huge relief not to have to spend a ton of time working on maintenance tools to make sure I’m not overstepping my minimal resources.
Update: I love it when companies under-promise and over-deliver. They said it would be ready in 24-48 hours but it was ready in about 4. I love the smell of a new server in the evening.