I'm not too good with computer hardware so I would appreciate if you guys can tell me if the following server specs are good enough to host a very popular site (with hundreds of thousands of visits a month).

Dedicated Server Specs:

  • Processor - Single Processor Dual Core Opteron 1212 - 2.00GHz - 2 x 1MB cache
  • RAM - 2 GB DDR2 667
  • Uplink Port Speed - 100 Mbps Public & Private Networks
  • Bandwidth - 2000 GB Bandwidth
  • IPV4 Adresses - 4
  • Hard Drive- 250GB SATA II
  • Operating System - CentOS 5 (64 bit)

Also should I get the 64 bit CentOS or the 32 bit? I'm looking for speed and security.

Thanks

link|improve this question
feedback

migrated from stackoverflow.com Oct 4 '09 at 7:13

This question came from our site for professional and enthusiast programmers.

5 Answers

Here's a few things you should think about;

  • How dynamic is your site - if it's 99% static/cached and the volume of content served is quite low then even a single core with that much memory will be just fine. If your site is database-based (and it's running the DB) and/or there's a lot of dynamic content then you'll certainly benefit from the second core.
  • As mentioned by DmitryK you're unlikely to benefit from a 64-bit OS with only 2GB of ram, that said if you ever want to move past 3.5GB or ram it will be a lot easier to make full use of it then in you start with a 64-bit OS today and don't have to upgrade/update later.
  • 100Mbps should be fine but if your site is likely to see bursts of activity (such as sites advertised on TV who often see 1000%+ hit increases for an hour after the advert runs) then you may need to consider moving to a 1Gbps link. Conversely if you expect your traffic to rarely burst more than 100% of 'normal' then you should be fine - oh and by the way, you'll struggle to stream video over a 100Mbps link to many users.
  • You should be fine with 4 IP addresses and CentOS is a good choice, very stable.
  • Also as DmitryK says you should really consider a second disk, not for performance, if you can you should be able to cache a high percentage of your content if you plan correctly, but in case your disk dies - it would be goodbye site and recoveries often take far longer than expected.
  • As for your bandwidth - well if you have 200k hits/month you'll have 10MB free for hit, for 500k hits you'll have 4MB and for 1M you'll have 2MB per hit - I'd assume you'll be fine with that unless most hits include a sizable download.

To conclude I'd insist on a second disk; think whether you'll need more than 3.5GB of memory, if so go for 64-bit now - other than that you'll be fine, good luck.

link|improve this answer
feedback

It depends on what you will be running on it.

You might also consider a Rackspace "cloud" account - its usually cheaper than dedicated hardware and lots less maintenance.

Ken

link|improve this answer
feedback

With 2GB of physical RAM go with a 32bit version of OS.

If this server has just 1 hard drive then I would definitely recommend having 2 and mirroring them (or even better RAID0+1)

link|improve this answer
RAID 1+0 would actually be better. The performance is similar but rebuild times are way shorter. – MDMarra Oct 4 '09 at 13:05
feedback

With hundreds of thousands of visits I don't think it's very good. That would be at least two visitors per minute. However, it's more likely to be 10 visitors in the same second and then 10 minutes no visitors, though. This many visitors will eat up a lot of bandwidth, which you fortunately have. But consider this:

Every hour that this server is down, there will be 130+ failed visits. A few hours downtime will upset quite a few people who will decide to go elsewhere, if this happens again. So you will need a fall-over server which can take over the job of this computer when this one goes down.

Still, the amount of visits isn't big enough -yet- to require a complete server-park. The amount of RAM should be enough, unless you're serving some very complex pages. Additional RAM would be useful as cache, though, serving back the much-requested pages as fast as possible. Then again, part of that depends on the architecture of your code.

A Quad-code would be useful to process multiple visits simultaneously. They are expensive but when you're dealing with this many visits, it can be practical to have more CPU's available. A dual-core could handle up to 4 threads thanks to hyperthreading, thus 4 visits. A Quad-core doubles this but also gives better handling for any other background threads.

Choosing between 32-bits and 64-bits is more a choice that depends on the amount of RAM that you want to use. If you add 8 GB instead of 2, a 64-bits OS would be required. With only 2 GB, a 64-bits OS would just eat up more RAM (because pointers become bigger), thus a 32-bits system would be better.

link|improve this answer
feedback

There is little or no reason to go with 32bit these days. Everything you want to run will work perfectly fine on 64bit, plus you have the advantage of future upgrades to memory should you need it without having to have the server rebuilt.

With server spec it's a bit of a "how long is a piece of string" question. It all depends on what you want to do with it. If you're talking about Magento Ecommerce, for example, which whilst it's a good ecommerce application is notoriously system resource intensive, and that's your expected visitor numbers you may find the site a bit slow. If it's something like Joomla then that should be ample.

You've got some advantages here with a new server to get things right from the start:

Cache wherever possible. How dynamic does the content have to be? If you can cache it even for 5 minutes without the content losing it's relevancy, do so :) One method, if you have control over the code: http://httpd.apache.org/docs/2.2/caching.html or consider Varnish: http://varnish.projects.linpro.no/ If you're using PHP, be sure to get APC installed and enabled: http://us.php.net/apc

link|improve this answer
feedback

Your Answer

 
or
required, but never shown