> I have a question about Red Hat Linux Enterprise. My
> experience is almost exclusively in Windows and I know almost
> nothing about Linux. Here is my situation at work: we have a
> web server running Apache with a MySQL database, but the site
> we have is running Windows 2000 Server
Luckily running Apache + MySQL on a Linux system is not a lot
different from running it on a Windows Box, both programs where
developed mainly for *nix systems and (merely) ported to Windows
later. The paths in the configuration files will be different,
as are the paths of the configuration files themself, more you
don't have to expect (and the way how services, called "daemons"
in the *nix world are started).
The one point to take care of is to get a proper dump out of the
MySQL database and injecting it back into the MySQL installation
on the server. That's the one part most likely to fail. The
MySQL documentation should cover it well.
Quote:> on an old HP box. My boss is going to get a new machine, but
> she wants Linux put on it as the OS instead of Windows. The
> site gets about 2.6 million hits a month and the server has 2
> gig of downloadable files on it. Here are my questions:
2.6e6 hits a month is quite a coarse figure. If one assumes that
these are evenly spread across time that are about 3 hits a
second, which is - frankly - not a lot of load for a server. An
old Pentium 1 box could easyly deal with it.
However such a friendly access pattern is very unlikely, so the
real interesting figure would be the the peak number of hits in
a short period of time (an hour or even down to a minute or
second).
The amount of data stored is not the problem, as the avaliable
bandwidth is the limiting factor there.
With a 100MBits/sec connection you're network bound, with a
1GBits/sec connection your harddisks will be the limiting
factor - for a good performance a RAID storage system is highly
advisable. As long you don't want to combine more than 10 disks
into a RAID you won't need a special RAID controller (with more
than 10 disks an actual RAID controller really reliefes the CPU,
don't get fooled by those "onboard RAID controlers" which merely
are software RAID layerd by the BIOS). Linux' software RAID
implementation is quite efficient and will take in my experience
only 2-5% of CPU time even under high I/O loads if only a few
disks are concerned. But you should make sure of high quality of
the used hardware, by which I mean SCSI, SAS or server certified
SATA disks.
The really important thing to get quick response times are vast
amounts of RAM. Linux prefetches data probably to be accessed
next into the I/O cache, and the I/O cache will always consume
up the unused RAM. If you use the 'free' command on a Linux
system you will notice, that there is almost no free memory
left, even if you got loads of RAM installed and almost no
programs running, but a few colums further you'll see that
almost everything is consumed by the cache. Don't worry, the
cache will shrink as more memory is consumed by running
applications. So in conclusion: The more RAM you get, the higher
the probability that requested data has already been read into
RAM from the disks, thus dramatically reducing latency.
And last but not least you need a god network interface
controller. In my experience those that Intel makes are quite
good.
Quote:> 1. I'm trying to decide between putting Red Hat Enterprise
> Linux or Red Hat Advanced Platform. Which software do you
> think would be best for the type of website we have? There is
> no backup server or any clustering or anything like that.
Choice of distribution has no influence on the system's
performance, but on the amout and quality of the support you'll
get. With quality I don't mean how good the people are, but the
topics their services cover. Well, there's one difference
between distributions: The time a system needs to boot, as they
use slightly different init patterns. But once everything's
there you probably won't notice a difference.
Quote:> 2. I know most versions of Linux are free, but you have to pay
> for some.
You pay for the support. The software contained in RHEL does not
differ from, say Debian. Admittingly Debian has quite a
different package manager and configuration scheme than RHEL,
but the real guts, the kernel, the server programs and most else
will be identical.
So let's say you want to go without a distributor's support at
all. Then you may just download images of their installation
media and go on - you don't have to pay royalities.
Since you're new to Linux (and probably the *nix world), I highly
suggest you learn how to use a shell (the program, Windows
people might refer to as "DOS prompt", or "console", but under
Linux a console is a whole different concept). Unlike
the "Windows command prompt", *nix shells are very powerfull
tools, which when configured properly allow you to do any sort
of administration task with literally only a few keypresses -
believe me, this is by far efficienter than a GUI and point and
click administration. With the right tweaks here and there you
can make the more featured shells (notably bash, zsh and tcsh)
do about anything. For example I got my shell configured in a
way, that I can use it as a pocket calculator, it shows me if
there's new mail, and similair little helper tools.
What distribution I can suggest? I'd say to start easy: Ubuntu.
Since a server doesn't need a GUI I suggest the "alternate
install CD" which provides a GUI-less installation. Ubuntu for
two reasons: For one updates are well maintained and usually the
most recent one can get with a "stable" distribution. And Ubuntu
is dead easy to install. In it's core it's a Debian system, but
I like the software repository a lot more and the used init
system "upstart" really rocks (IMHO it's by far better than the
dusty rc-scripts system still in use by RH and SuSE, and to my
pity Debian). The cool thing about repository based
distributions is, that every software on the system installed
through the repository will get updated automatically - it just
like Windows Update, but it covers really every installed
program on the system.
If you pay for a distributors support you'll have to compare what
you need and for how long. Given the fact that some systems run
for years without interruption and severe need of administration
it may pay off to let a distributor do the whole installation
and configuration thig for you, if you don't intend to change
the system configuration within the next years. OTOH
administering a well configured *nix system can be really fun.
Wolfgang Draxinger
--