Subscribe to Dream.In.Code Team Blog        RSS Feed
-----

What Powers Dream.In.Code?

Icon 11 Comments
I'll admit it, I find server specs sexy and hearing someone ramble off an awesome configuration puts a big smile on my face. So while we don't have some amazing load balanced server farm running Dream.In.Code, we did recently take a big step forward. We added a dedicated database server. So I'd like to share some information about what exactly runs a site this size :) Get ready for some sexy server specs and ultra geekery!


Primary/Web Server
Our web server currently handles all dynamic page requests (PHP) and some (less than 2%) of static image requests. It also handles all searches, and query caching.

Processor: Quad Processor: Quad-Core AMD Opteron™ Model 8346 HE (1.8GHz, 4x512KB L2) [Yes, that's 16 cores total]
Memory: 12GB DDR2 RAM (6 x 2GB Sticks)
Hard Drives: 4 x 73GB 15,000 RPM Raptor SCSI Drives
RAID: 1+0 w/Battery Backup Module
Network: Gigabit Public & Private (Out-Of-Band) Connectivity
OS: Redhat EL 5

Software: Our web server runs Apache to handle all dynamic pages (PHP), memcached to handle caching database queries, Sphinx to handle full-text searches/related topics, XCache to pre-cache dynamic pages.

Misc: The web server also has a Cisco hardware firewall, and various software firewalls, intrusion detection systems, and other products handling security.


Database Server
The database server runs MySQL 5 and handles 700+ queries/second with bursts of over 1000 queries/second at peak hours. It has over 3,000,000 rows of data and is made up of both MyISAM and INNODB table engines.

Processor: Intel Xeon-Lynnfield 3460-Quadcore [2.8GHz]
Memory: 8GB DDR3 RAM (2 x 4GB Sticks)
Hard Drives: 4 x 73GB 15,000 RPM Raptor SCSI Drives
RAID: 1+0 w/Battery Backup Module
Network: Gigabit Private (Out-Of-Band) Connectivity
OS: Redhat EL 5

Content Delivery Network (CDN)
A couple years ago, we found one of the biggest loads on the server was serving static images, CSS, and Javascript. We currently use a 21 node (each node is a cluster of servers), globally distributed content delivery network that utilizes origin-pull to cache all images, CSS, and Javascript from the web server at 21 nodes around the world so when you view images, you are actually getting them from the geographically closest and fastest server. This is a semi-cloud based solution that improves performance drastically for you (our visitors), and our servers (by removing the load of serving static content). Static content has been optimized with cache-control and expires headers to ensure you aren't downloading images more than once a month.


E-Mail Server
We send close to 600,000 emails/mo between PM notifications, thread notifications, newsletters, welcome emails, etc. We moved to a dedicated SMTP server a couple years ago. I don't know the specs off the top of my head, but know that what used to take 2+ days to send a newsletter to 150,000 people, we can now send to 350,000 in under 4 hours.


DNS Servers
We opted to use 3rd party DNS Servers for increased reliability and added control. Our DNS provide (DNSMadeEasy.com) handles over 7,000,000 lookups/mo on the dreamincode.net/com domains. They use a 51 node, globally distributed configuration of servers and IPAnyCast to route your DNS request to the closest geographical server which prevents our overseas visitors from having to come back across the ocean just to do a simple DNS lookup. This shaves several milliseconds off the TTFB (time to first byte).


Development Server
Not really part of the production config, but the dev server is hosted with PowerVPS on a Virtual Private Server with fairly minimal specs. A shared hosting environment or even local development environment just doesn't have the power to handle the large database upgrades we have to do.

So that's a little insight in to what exactly keeps Dream.In.Code up and running. We have a dedicated team of server administrators with a company called Total Server Solutions and they take care of this crazy setup when things go horribly wrong.

If you have any questions, feel free to ask and I'll do my best to answer them. If you have any INSIGHT, please share that as well :) I'm always looking for new/better ways to run things.

11 Comments On This Entry

Page 1 of 1

Luckless Icon

12 October 2010 - 09:47 AM
"She Thinks My Database is Sexy" is all I could think of after that first line
0

grimpirate Icon

12 October 2010 - 10:05 AM
Well there goes my theory about 1000 hamsters on 1000 hamster wheels.
3

numberwhun Icon

12 October 2010 - 10:07 AM
I was looking at a Quad AMD Quad core mobo the other day for ~$900. Gotta say that that is A LOT of machine. Very nice!!!
0

KingCuddles Icon

12 October 2010 - 10:21 AM
To be perfectly honest, I much prefer specs with pics... so....
0

Munawwar Icon

12 October 2010 - 10:21 AM

Quote

Primary/Web Server
Our web server currently handles all dynamic page requests (PHP) and some (less than 2%) of static image requests. It also handles all searches, and query caching.

Processor: Quad Processor: Quad-Core AMD Opteron™ Model 8346 HE (1.8GHz, 4x512KB L2) [Yes, that's 16 cores total]
Memory: 12GB DDR2 RAM (6 x 2GB Sticks)
Hard Drives: 4 x 73GB 15,000 RPM Raptor SCSI Drives
RAID: 1+0 w/Battery Backup Module
Network: Gigabit Public & Private (Out-Of-Band) Connectivity
OS: Redhat EL 5

oooo! Gotta ask santa for one of those :P

Anyway,the overall system, in my estimation is - HELL expensive. So what funds dreamincode.net?
0

skyhawk133 Icon

12 October 2010 - 10:59 AM

KingCuddles, on 12 October 2010 - 09:21 AM, said:

To be perfectly honest, I much prefer specs with pics... so....


I'll see if I can get some pics from our datacenter.

And yes, it's hella expensive. The ads on the site pay for the servers and bandwidth.
0

benbarian Icon

13 October 2010 - 08:35 AM
Ah thanks guys, you're so sweet for sharing

Geeks love toys
0

dorknexus Icon

13 October 2010 - 09:25 AM
What he didn't mention were the illegal mexican immigrants running on hamster wheels powering the servers.
0

wild494 Icon

16 October 2010 - 12:05 PM

Dark_Nexus, on 13 October 2010 - 08:25 AM, said:

What he didn't mention were the illegal mexican immigrants running on hamster wheels powering the servers.



No No that's not to be mentioned we don't want to anger the hamsters now do we. We'll make them angry by letting them know they've been replaced!
0

Michael26 Icon

08 August 2014 - 05:31 AM
Was anything upgraded since 2010?
0

macosxnerd101 Icon

19 August 2014 - 11:00 PM
0
Page 1 of 1

Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

October 2014

S M T W T F S
   1234
567891011
12131415161718
19 20 2122232425
262728293031 

Recent Entries

Recent Comments

Search My Blog

1 user(s) viewing

1 Guests
0 member(s)
0 anonymous member(s)