2

First server would be Server A.

wordpress, joomla, roundcube and opencart (mysql databases are on Server B)

over a 3 year period max would be 2000 unique visits a day.
Would be about 500 downloads on the Server (100-500kb in size)
all downloaded from 10 to 50x a week each.

was thinking about 2GB of Ram

Second Server would be Server B

holds the mysql databases which the Server A connects to.
hosts an email system running postfix + dovecot
(700 users would be using it at one time max)
all of these users sending emails
a lot of these with the downloads from the frontend attached to them

was thinking 2-8GB of Ram

how much would you think would be needed for both these servers?

both would have software antivirus and firewall

raid 5

R1soft CDP software for backups (server B gets backed up onto Server A, Server A then gets backed up onto an Offsite Location)

3 Answers 3

3

First server should work out OK, second: 1-8 GB is a bit "open" spec. I would suggest at least 2. If you can do anything about it, try to have as few users as possible use IMAP, although I imagine that using roundcube you'd have to use it. Generally, RAM isn't that expensive, so take 4 GB or 8.

Most important for a mail system and database system is I/O. Do yourself a favour and make it a RAID-1, RAID-5 gives you less IOPS, at least if you choose to use not that many disks. Also, use the expensive SAS disks with 10k or 15k rpm, and a decent and supported RAID controller (e.g. LSI) with a BBU,

1
  • plan to use 3x 300gb SAS 6Gbps, 3.5-in, 15K RPM
    – James
    Nov 4, 2010 at 21:05
1

Even if you had provided a lot more information about the system (hit rate is far more relevant than unique visitors) it wouldn't be possible to provide an accurate answer. There are just too many variables - e.g. you might be serving up 8Gb of downloads each week - but maybe less than 5% of the content might be cacheable at the filesystem level. What about the rest of the usage of the site?

Certainly if you're serving up lots of large files, then you should be looking at a low latency file storage system. NB disk latency is far more important than bandwidth unless all the clients are connecting over a gigabit lan - so RAID 1 may give better performance than RAID 5 - indeed, for the webserver, you'd probably be better spending your money on a couple of basic spec machines with multiple 7200rpm SATA RAID-1 (e.g. mirroring a stripe set) or possible even RAID flash storage (if writes are relatively infrequent) rather than a big beast with 15K SCSI. Multiple servers also gives you a benefit in terms of availability.

Regarding the mail/DB server - it's even harder to predict the load for these applications - certainly I'd set up separate ip names for the services (smtp, pop/imap, db - initially with the same address).

But the most important thing is to establish what your performance targets (in terms of transaction times - NOT cpu/load/io etc) and to plan for ways of measuring and analysing these targets (AND the other, more conventional system metrics such as cpu/load/io/memory etc - since these indicate how transaction performance is constrained). And also to keep some of your budget back so that you can address the performance problems when you know what they are

0

The Mantra is you can never have enough memory, cpu , storage or bandwidth! :-)

If your racking you own servers, than think big :-). I've got 16GB of ram in my desktop machine.Ideally your system should not page to disk, paging is slow! If process are being paged out due to inactivity, then tune you kernel to keep them in memory.

Once you've maxxed out you ram , think about out using an SSD as a cache for your disk subsystem or storing you swap file. This can give you even more performance, and low latency reads on page faults. The ssd doesn't have a drive head, so seeking is quick! :-).

you can also place SSD's in a stripe for more performance.

you may find this interesting, using the ssd to cache hot data from your filesystem. zfs will use the ssd as a dynamic disk cache. Very nice! :-).

http://www.nerdblog.com/2010/03/zfs-nas-followup-ssd-is-amazing.html

Lasty, look at your applications, can they be optimised, does an competing piece of software use less memory, less cpu, easier to manage?

If you hosting a web app, it's not a good thing if you got great big servers, I've seen many a setup with large servers's, however then have been connection into a very poor internet service provider, so traffic was being dropped even before the servers had change to process it.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .