Headlines | Linux | Apps | Coding | BSD | Admin | News
Information for Linux System Administration 

Testing the Digital Ocean $5 Cloud Servers with an MMORPG


I've been working on an space-based MMORPG for a while now and I finally reached a point where the server was largely complete and ready for some load testing. I had done quite a bit of testing on my quad-core Xeon development system with great results. Renting a dedicated box like that one, and with a decent Internet connection would not be cheap, however.

I was curious about Digital Ocean's offerings so I decided to take a couple of their smallest virtual machines for a test run. These 5 dollar/month cloud servers have 512MB of memory, a single virtual CPU, and 20 gigabytes of SSD disk storage. I created the first one, Maelstrom, in one of their New York data centers and the second one, Paradise, in their San Fransico facility. As claimed, each server took just under 60 seconds to deploy.

I made a few customizations to the bare-bones CentOS 6.5 64-bit image that I had selected for both machines. I then ran my personal benchmark package on both. On my 256 megabyte benchmark that emulates a relational database instance, I got about 25% of the performance of one of my Ivy Bridge Xeon cores. This benchmark stresses memory bandwidth, takes advantage of the full range of caches, as well as loading the CPU with integer-only operations.

I consider a fourth of an Ivy Bridge core an excellent result for a $5(US) server! I repeated the tests over the following days and got consistent results varying within a 10 percent range. One thing of note; the SF server consistently performed about 10% faster than the NY server.

Next, I loaded up a million-sector instance of my MMORPG server engine on the NY server and a bundle of testing scripts on the SF machine. The test suite, which emulates 712 concurrent players requires 1424 processes to do that. In retrospect, it wasn't too surprising that I crashed the SF machine as the testing scripts created an urgent demand for far more than 512 MB of memory! My mistake. I suspected that I wasn't going to be able to fully stress the game engine with far fewer emulated players.

But, always the optimist, I set up a gigabyte of swap space on Paradise and tried again. This time the tests ran just fine -- and the SSD-based swap space performed beautifully.

I got an average of 2500 game transactions per second over the duration of the test -- which should be more than enough for my target of 1000 concurrent players per realm. The SF machine used one half of the GB(!) of swap space while running the test scripts and hummed along happily at about 75% busy.

The NY server was fully stressed at about 98% CPU utilization and remained very responsive for the duration of the test.

I'm still running both systems three weeks later and have experienced no reboots or outages so far.

The New York server continues to run my text-based space MMORPG server back-end for game-play testing as the graphical front-end client is developed.
mail this link | score:9967 | -Ray, May 13, 2014
More Sysadmin articles...

Buy Fine Art on Canvas Online

Selected articles

Apple DIY Repair

Librenix T-Shirts and Coffee Mugs!

Linux dominates Windows

How to install Ubuntu Linux on the decTOP SFF computer

MiniLesson: An introduction to Linux in ten commands

Tutorial: Introduction to Linux files

Mono-culture and the .NETwork effect

Closed Source Linux Distribution Launched

The Real Microsoft Monopoly

Programming Language Tradeoffs: 3GL vs 4GL

Download: Linux 3D Client for Starship Traders

The life cycle of a programmer


Firefox sidebar

Site map

Site info

News feed


(to post)


Articles are owned by their authors.   © 2000-2012 Ray Yeargin