Suggested best use of new hardware


#1

HI all. I’m in a currently all Microsoft house but we are redesigning
our current website in Rails complete with ecommerce. We currently
get about 25,000 page views and this site will almost be entirely DB
driven (though I plan to use some caching whenever possible).

Now for the hardware:
I have two Dell Poweredge 1950’s with dual dual-core processors, U320
SCSI drives and 16gb of ram that I will put behind a hardware load
balancer for serving this Rails site.

I also have another Dell Poweredge 2950 with dual dual-core
processors, U320 SCSI RAID-5 drives and 16gb of ram that I will use
for running the MySQL DB on.

These are obviously performance powerhouses but I’m a Rails/MySQL
newbie and a Linux idiot. I have a 100% successful development server
already up and running on Windows 2003 Server with Apache 2.x ( I
think it’s 2.3 but it escapes me now) with mod_proxy_balancer, a 5
instance Mongrel cluster and a MySQL instance on it so I know it’s
possible in Windows if I pony up for the $2000+ Windows Server
Enterprise licenses for all 3 machines but if I’ll get better
performance out of Linux and a cast savings then??

My question. Can anyone suggest what I should consider in order to
maximaize the use of this great hardware? I can’t find any real
definitive RAM specs for linux online but like I said, I know nothing
about Linux anyway so I might not even be looking in the right place.

Thanks for any assistance!


#2

Expect to have a few issues getting the RAID on the 1950 and 2950 to
work with Linux. There are a few fixes out there, but most distros
currently have issues working with the RAID controller in both of
those PowerEdge models. It will work, but takes a little extra effort.

http://www.ubuntuforums.org/showthread.php?s=6def98421b0dca2ecde3fb47d2080e34&t=226114

Michael B.

On 1/29/07, roller8 removed_email_address@domain.invalid wrote:

Enterprise licenses for all 3 machines but if I’ll get better


Michael Biven
removed_email_address@domain.invalid
http://biven.org


#3

2950 worked perfect for me using CentOS 4.4 (4.3 didn’t recognized
controller).

Also the Megamon utils (was a megaraid SAS controller) worked
flawlessly.


#4

Thanks for the advice! Someone else just noted that FreeBSD might be
the way to go as well. Any opinions or experience with this OS?


#5

On Mon, Jan 29, 2007 at 09:58:22AM -0800, roller8 wrote:

Thanks for the advice! Someone else just noted that FreeBSD might be
the way to go as well. Any opinions or experience with this OS?

I’m using FreeBSD exclusively for the servers I manage (a mixture of
legacy PHP and Rails these days). I’ve had issues with the raid
controller of the 2950 dropping disks from a raid 5 for no apparent
reason. There have been some fixes to the driver in 6.2 but I haven’t
gotten those tested yet, so I can’t say if the fix the problem.

Also there is AFAIK no management utils for FreeBSD as of now. I’ve
heard
rumors that the old utilities for the old megaraid might work, but
nothing confirmed.

Despite of this I still prefer FreeBSD due to the superior package
management system, the documentation and the overall coherent feel of
the system. To me FreeBSD seems more mature than most Linux
distributions I’ve tried. But this is just personal opinions, I’m sure
many Linux users will be equally happy with their systems. Also Linux
often have better support for new hardware if that’s an issue. Though
for servers I suppose it rarely is.


Cheers,

  • Jacob A.

#6

Well, that’s two mentions for CentOS so that warrants a closer
investigation. Thanks for the assistance since I haven’t even seen a
running Linux box in my life. I guess I’ve just been Microsoft and
Apple sheltered!

As for the MySQL database and how much memory to assign it for cache,
well, it will be all by itself on this 16gb ram 2950 server so I guess
I can give it like 12 or 14 gigs of ram without even worrying about
it, wouldn’t you agree?


#7

Thanks for the advice! Someone else just noted that FreeBSD might be
the way to go as well. Any opinions or experience with this OS?

FreeBSD is great, but then I might be biased as it’s what I use most
often. At work we run CentOS and while I don’t really like the way it’s
setup, (i’m used to freebsd :slight_smile: it works great too.

THe hardware you have below will easily handle 25K page views a day…
that’s really only about 1 every 4 seconds…

About the only decision you have to make is how many gigs you want to
give
mysql for it’s cache… the rest should take care of itself… :slight_smile:


#8

Well, that’s two mentions for CentOS so that warrants a closer
investigation. Thanks for the assistance since I haven’t even seen a
running Linux box in my life. I guess I’ve just been Microsoft and
Apple sheltered!

As for the MySQL database and how much memory to assign it for cache,
well, it will be all by itself on this 16gb ram 2950 server so I guess
I can give it like 12 or 14 gigs of ram without even worrying about
it, wouldn’t you agree?


#9

Well, that’s two mentions for CentOS so that warrants a closer
investigation. Thanks for the assistance since I haven’t even seen a
running Linux box in my life. I guess I’ve just been Microsoft and
Apple sheltered!

If you do go with CentOS, you’ll probably end up using yum to manage
packages… in which case you’ll want to set things up to use rpmforge
as
CentOS’s own repositories don’t have everything (such as nagios)…

http://wiki.centos.org/Repositories/RPMForge

That’s the one thing I love about FreeBSD… it’s port system is really
really good…

As for the MySQL database and how much memory to assign it for cache,
well, it will be all by itself on this 16gb ram 2950 server so I guess
I can give it like 12 or 14 gigs of ram without even worrying about
it, wouldn’t you agree?

Well how big is your dataset? And there’s the issue of how much mysql
can
use (that 4gb per process boundary, etc… not sure that applies here
though)…

The other thing I’d do is you’ve only got the two boxes is set them up
as
slaves to each other so in the event that either crashes you can run off
just one for awhile…


#10

On 1/29/07, roller8 removed_email_address@domain.invalid wrote:

I also have another Dell Poweredge 2950 with dual dual-core
processors, U320 SCSI RAID-5 drives and 16gb of ram that I will use
for running the MySQL DB on.

I’ll throw a twist into this for you. :slight_smile:

Since it looks like you’ll be learning quite a bit anyway…I’d
recommend installing a Xen kernel rather than a plain Linux kernel.

I’d then set up 3 virtual machines on each “little” machine, one for
Apache 2.2.4 or Nginx 0.5.5 (or whatever is currently, it moves very
quickly!), one for mongrels, and one for MySQL replicas.

I’d set up 1 virtual machine on the monster, for MySQL.

Then I’d duplicate all of the above for a staging environment. :slight_smile: 14
virtual machines, living on 3 physical machines, and room to grow. You
can create VM sandboxes to test out updates and try scary sysadmin
tasks, with zero fear of damaging your critical environments.

Once you go Xen, you never go back. :slight_smile:


#11

Thanks Phillip. Well I’ll have two 1950’s running behind a hardware
load
balancer along with each server having mirrored drives and redundant
power
so I hope that’s enough failover outside of having to restore a system
from
backup. The MySql server is just a single server however, with mirrored
boot drives and the MySQL data living on a Raid5 with redundant power.
I
could pull a less powerful box to set up as a secondary database server
to
use in event of failure but I don’t know the ins/outs or keeping the
data
replicated with MySQL (I’m a SQL Server guy too) or clustering/balancing
Linux/Unix boxes. I guess I certainly have to do some more research on
all
this. But I appreciate knowing whether or not these things are possible
so
I don’t spend hours scouring the web for info that doesn’t exist. :slight_smile:

----- Original Message -----
From: “Philip H.” removed_email_address@domain.invalid
To: “Deploying Rails” removed_email_address@domain.invalid
Sent: Monday, January 29, 2007 11:06 AM
Subject: [Rails-deploy] Re: Suggested best use of new hardware


#12

Raul,

As I understand this setup is not about performance, using Xen won’t
give you more. it is a strategy to make it easier to separate those
componentes in different boxes later. I have read a lot about nginx
performace, and actually the people of litespeed had to agree it does
great:

http://blog.litespeedtech.com/articles/2006/08/31/my-rails-benchmark-results-lsws-lsapi-vs-nginx-fcgi


Anibal Rojas
http://www.rubycorner.com
http://www.hasmanuydevelopers.com


#13

Wow! I was wondering about the “virtuability” of Linux boxes and I had
read
that benchmark blog about Nginx being the fastest to date. I’ll look
into
Xen and see what it’s about. Now you’ve really piqued my interest!

Thanks!

----- Original Message -----
From: “Tom M.” removed_email_address@domain.invalid
To: removed_email_address@domain.invalid
Sent: Tuesday, January 30, 2007 2:44 AM
Subject: [Rails-deploy] Re: Suggested best use of new hardware