Intel Ent/DB server h/w config

JDE_help

Member
We are setting up a new intel Enterpise/Database server.

It's running Win 2K8 Standard (SP2)
SQL 2008 (64-bit) Standard (SP1)

It will be running JDE E1 8.12 with Tools 8.98.2.2


The C: Drive is 2 mirrored 75 GB SAS drives

The E: drive (where the Database will reside), is a RAID5 array with 10 146 GB 15k rpm SAS drives.

My question is regarding the specific RAID settings. The controller allows me to configure these options:

- Read Policy: No Read Ahead / Adaptive Read Ahead / Always Read Ahead

- Write Policy: Write Through / Always Write Back

- IO Policy: Direct IO / Cached IO

- Disk Cache Policy: Enabled / Disabled

Can someone comment on those options?

Also, the current stripe size is 128KB. Is this appropriate?

Thank you!
 
How many users (concurrent) and what modules are you running?

Also what are your hours 24/7/365 or 9/5?

What hardware are you running and what are the specs?

You'll hear a lot of opinions after a general post like that.

The general answer is - IT DEPENDS.

I'm sure you'll be bommarded with comments on the RAID config first and then the RAID options second.

Please post answers to the above so that others can get a better sense of what you have and your environment.


Colin
 
Hi,

Read Policy :

Read ahead is OK for volumes storing database data files
(MDF and NDF), because you expect data to be read
on sequential chunks (according to your clustered
indexes).

Note : this doesn't mean that databases are
accessed sequentially, it just means that bursts of
sequential requests are quite frequent, specially when
using clustered indexes.

So, whenever there's a read operation, your disk
controller will read a few blocks ahead (and save them
on cache) expecting that those will be requested a few
moments later.

It's wise to separate database files (MDF/NDF) from
log files (LDF). Why?

Log files are usually written on a sequentially basis
while database files tend to be read from and written to
random locations of your disks (even if there are
sequential bursts like the ones I mentioned before).

Read ahead doesn't make much sense to transaction log
volumes.

Write policy (Write Back + Cached IO + Cache Policy)

They all relate to pointing write operations to RAM
(on the disk controller) then flushing all those
operations at once. That gives better write performance
but you need to protect your SAN power supply (UPS)

You don't want your DB to corrupt just because you
had a bunch of write operations in RAM that were lost
after some power outage.

Current stripe size, as far as I know, Microsoft used
to recommend 64 Kb stripes for SQL2005 and SQL2008,
i don't know if it's still the case.
 
RAID5 is generally not a good option for data. If you search the WEB, there are lengthy discussions about this and even a RAID5 hate group. I can tell you from experience that RAID5 will be many times slower than RAID10 for writes.

Read-ahead should be turned off. This alone would easily give you >10% performance boost.

Write through is the best. Plus if you can rearrange all of your cache to writes, as some adaptors allow you to do, it may take the edge off the RAID5 slow writes.

Cached IO / Enabled are best, especially if you do the item above as well.

128k is probably too big. And it should be considered in conjunction with the NTFS cluster size, so that each cluster fits in a single stripe. I think 64k would be ideal for both cluster size and the stripe size.
 
Back
Top