Friday, December 7, 2007

And ... we're back.

Hey guys -- just want to update you all to let you know that we successfully switched over to the new servers. While RPI players already noticed that we'd moved, we decided to wait a few days to make sure everything worked properly before we officially announced. Over the past few days, we've re-added the dynamic map (when our servers couldn't handle the load we had to replace the map with an image), 6X-ed the number of turns for RPI a day, and un-paused Rice. The result? We're functioning fine and considering re-launching the ILC soon.

A lot's changed though. From a non-technical perspective (which is how this article is written), it probably sounds easy to add additional servers. But, there's a good deal more that goes into scaling out than just throwing more money at hardware. We had to rework some of the back-end -- particularly the application's interactions with the database -- so as to allow it to operate on many computers approximately as it would on a single one.

So how is this done? I usually save the gory details for the second date, but we arranged our servers into what's known as a master/slave configuration. We separated our servers into master and slave servers. The slaves hold read only copies of the data on the masters and constantly check with the masters for updates. Meanwhile, the masters write new data. So, any time you sign up for a new account, move a unit, or post a chat, your action is written to the master. When you load a page, chances are you are loading content served from a slave. If you're curious for a longer explanation, by all means Google (you should probably leave safe search on if you're in class).

Certain challenges must be overcome during this process. Unless appropriate precautions are taken, a system might fail if a user hits one server, and then another upon reload. Data can show up incorrectly if a slave database hasn't yet copied changes from the master. A data collision can occur if the database tries to insert two pieces of data to the same point. Or, a major bottleneck or single point of activity can bog down everything as traffic increases. GoCrossCampus was originally built to operate on a single server - and so we spent a lot of time planning solutions, researching and coding to make the transition as smooth as possible.

Over the past month, we optimized, cached and moved towards stateless interactions with the database. We added indexes to our tables, made code more efficient, fixed a lot of small bugs, separated out static content (CSS, JavaScript, Images) and began transmitting compressed content.

We've had to handle a couple minor glitches - and had to take the site down for a few minutes once. But we haven't run into any major problems yet. Overall we've been very pleased. Since December 1st (the day we switched to the new servers), visits have more than doubled, page views have 5X-ed and our servers are holding up strong.

On that note, let the games (re-)begin!


Anonymous said...

scaling out THAN just throwing more money

Grammar is cool, even for comp sci types

Sean Mehra said...

Haha. Grammar rulez! But it's also fun to break a rule sometimes :P

Unknown said...

christian louboutin shoes, cheap jordans , Discount LV Handbags, Christian Louboutin Bois Dore, cheap christian louboutin, ugg soldes, cheap nike jordan shoes, uggs outlet, Bags Louis Vuitton, ugg pas cher, ugg australia, ugg boots, christian louboutin, Discount Louis Vuitton, wholesale jordan shoes, Cheap Louis Vuitton Handbags, Cheap LV Handbags, discount nike jordans, ugg, uggs on sale, discount christian louboutin, christian louboutin remise 50%, Christian Louboutin Daffodile

Unknown said...

qihang0924,football shoes
kate spade handbags
tod's shoes
moncler outlet
christian louboutin shoes
nike free runs
mizuno running shoes
michael kors handbags
adidas superstar
ugg boots clearance
fitflops sale clearance
pandora bracelets
nike store uk
nike huarache
giuseppe zanotti sneakers
pandora jewelry
coach outlet
nike air max 90
juicy couture
uggs boots on sale
louis vuitton handbags
nike air force 1
cheap oakleys
hermes belt
adidas superstars
marc jacobs
louis vuitton borse
mont blanc

Unknown said...

Ray-Ban Sunglasses
Jordan 3 Retro For Cheap
Michael Kors Handbags Outlet Online
michael kors outlet
Canada Goose Outlet Online
nike shorts,nike hoodies,nike town,new nike shoes,nike tennis shoes,air max 97,nike shop,nike basketball
Jordan Retro 13 Hot Sale
louis vuitton outlet stores
michael kors outlet online
Coach Factory Outlet
ray-ban sunglasses,ray ban sunglasses,ray bans,rayban,ray ban wayfarer,raybans,ray ban glasses,ray ban aviators,ray ban clubmaster,ray ban eyeglasses,cheap ray bans,ray bans sunglasses,ray ban aviator,ray bands,fake ray bans,ray ban prescription glasses,ray ban outlet,ray ban canada,ray ban sunglasses sale,ray ban sale
cheap uggs
michael kors uk
mihchael kors bag
fitflops sale clearance
louis vuitton outlet online
Abercrombie Outlet Store Online
authentic louis vuitton handbags
jordan shoes
michael kors outlet
oakley sunglasses cheap
tory burch sale
michael kors uk
uggs outlet
cheap ugg boots
cheap ugg boots
Louis Vuitton Handbags Official Site
Michael Kors Outlet Online Sale
ralph lauren uk
Air Jordan 8

Unknown said...

tory burch outlet online
yeezy shoes
coach factory outlet
pandora charms outlet
air max shoes
jordan retro
yeezy boost 350
nike uk
clarks shoes outlet

Alex daina said...

The business loan industry is moving at a constant rate. quick cash advance Chicago

jjjjjjjjjjjjj said...

yeezy shoes
nike air force
balenciaga shoes
adidas gazelle sale
coach outlet store
adidas gazelle
kevin durant shoes
nike jordans
cheap jordans

Unknown said...


canada goose jackets
adidas superstar
moncler jackets
christian louboutin
canada goose outlet
true religion jeans
coach outlet factory
true religion jeans outlet
kate spade outlet
salomon shoes

wilfredahabig said...

This welcome bonus is for keno and slots casino games only, the minimal deposit required is $30, and the wagering requirement is a rollover of simply 5x. Read the phrases and circumstances carefully search out|to search out} probably the most appropriate bonus for you and which recreation provides the bottom 메리트카지노 wagering necessities. Several on-line casinos supply wager-free bonuses or free spins as an alternative of a deposit bonus package. These free spins live a lot as} their name for being "completely free" since they do not come with any wagering necessities.