SAN Cache Size and Cache Hit Percentage?

  • Thread starter brother_of_karamazov
  • Start date
RAID5 is bad. Really bad. I have an explanation of why below.

An EVA is exactly as you describe - but you carve up your drives based on multiple raid configurations, so its perfectly possible to have RAID10 and RAID5 on the same EVA. In effect, the EVA takes EVERY spindle in the physical array and spreads out your virtual array ! Very cool !

However, there are performance issues with using RAID5 - I know that JDE has a document that in their opinion states that the "difference is negligible" - but quite literally every customer operates completely different from what JDE Benchmarks - and realistically, I think JDE knows SQUAT about hardware when it comes to setting up architecture.

In a customer SQL Server configuration - I would set up the following SAN configuration :

CRPDATA - RAID5
JDECRPLOG - RAID5
JDEPRODDATA - RAID10
JDEPRODLOG - RAID10
JDESYSDATA - RAID10
JDESYSLOG - RAID10
JDETESTDATA - RAID5
JDETESTLOG - RAID5
QUORUM (for clustering) - RAID10
SQLSERVER (for TEMPDB, MASTER etc) - RAID10

I would do this so that it is easy to identify certain drive types for copying, administrating and managing. For example, I can copy the CRPDATA using a snapshot technology to TESTDTA using the above configuration.

Central objects resides in the JDESYSDATA along with OL, DD, Servermaps etc etc.

Now, as to SAN Cache size and ratios. In an EVA5000, each controller has 256Mb WRITE/512Mb READ cache sizes - and there are two controllers.
Your SQL Server buffer cache should be used at 99%, same as your procedure cache.

ok - now, there are some other numbers to be aware of as well - these came from Microsoft as recommended bottleneck analysis. The following are what each SHOULD be showing :

Physical Disk Avg Disk Sec/Read < 8ms
Physical Disk Avg Disk sec/Write < 1ms
Avg Disk Read Queue Length < 2*spindles
Avg Disk Write Queue Length < 2*spindles
Page Reads/Sec < 90
Page Writes/sec < 90
Free Pages < 640
Buffer Cache Hit Ratio > 90%

The biggest statistic - when it comes to disk performance - is going to be the disk latency number. The higher the latency, the WAAAY worse everything is going to be performance-wise.

Remember, RAID5 is always bad at writing - and the disk latency will increase because of this. Lets look at the reason why.

RAID5 is striping with distributed parity. RAID 5 comprises a logical volume, based on three or more disk drives, that generates data redundancy to avoid the loss of an entire volume in the event of disk failure. The RAID controller creates a special parity block for each stripe of information.

The parity is typically a binary exclusive OR (XOR) operation—indicated here with the ~ symbol—on all the data blocks of the stripe :

|A1|B1|C1|D1|S1|
|A2|B2|C2|S2|E2|
----------------
|A3|B3|S3|D3|E3| - Stripe
----------------
|A4|S4|C4|D4|E4|
|S5|B5|C5|D5|E5|

In the above diagram, the RAID controller calculates parity as S3 = A3 ~B3 ~D3 ~E3.

Now, when a write operation occurs on a RAID 5 volume, the controller must update parity block. Because the controller must read all the blocks in the stripe to recreate the parity block, most RAID 5 controllers will go through the following steps, in which single quotation marks and double quotation marks represent modifications:

1. Read the block that needs modification (B3).
2. Read the parity block (S3).
3. Remove the knowledge of block B3 from parity S3 (S3'=S3~B3).
4. Calculate the new parity (S3"=S3'~B3').
5. Update the data block (B3').
6. Update the parity block (S3").

In other words, one application I/O requires four disk I/Os, and these four I/Os occur on two spindles, potentially disturbing other transfer operations on those volumes.

If a RAID5 drive dies, then obviously the parity needs to be rebuilt. This extra load on the array means that the RAID5 volume will be significantly impacted.

Lastly - when it comes to a very highly utilized partition, then instead of plonking down tons of money - why not consider a Solid State Disk ? These have come down in price BIG time in recent years - I have a document on my website somewhere that shows that just by adding a solid state disk to an Oracle architecture can improve database performance by 30% ! The same can be seen with a SQL Server architecture too ! Given the fact that solid state drives are now in the sub-$1000 range for 32gb drives - everyone should be evaluating these nowadays ! Believe me, a SSD is nothing like having "cache" ! Your talking about a drive with 250 times faster access times than conventional disks ! I predict that the price will come down SO much, you'll start seeing SSD's on laptops - and we'll see database arrays just made up of SSD's. Since their manufacturers are stating reliable "225 years" before failure - trust me when I think this is the future for disk technology.

Jeff, if you're concerned - I can always help you guys out with a Performance Benchmark/Stresstest - you never know !
 
[ QUOTE ]
Gregg, if you're concerned - I can always help you guys out with a Performance Benchmark/Stresstest - you never know !

[/ QUOTE ]

No thanks Jon, our SAN configuration is rock solid. We are configured with RAID 1+0 x2. Our database partion is 1x0 (striped for performance, mirrored for redundancy for those of you that aren't ubergeeks). We then have an additonal layer of SAN redundancy that copies all of the SAN data, in real time, to a second SAN located two miles away in our Disaster recovery data center. Which, as part of our SOX testing, we test and validate at least once a year. If someone is intersted in reading more (sorry for the thread highjack here), here is an article I wrote on the topic: Disaster Recovery Planning, A Case Study, Gregg Larkin, JDEtips Journal January/February 2007 Volume VIII Issue 1.
 
Ooops - typo there Gregg. I meant "Jeff, if you're concerned......." - I know what GREGGS company is using !
 
Just leave it all in memory! Texas memory system Ram-San 4000s. 500,000 IOs and 3GBps per second, sustainable!

Now if I could just convince the boss it was worth $1000 to $1500 PER GIG !
shocked.gif
shocked.gif
confused.gif


Love the geek thead, just can't justify spending the money on the SAN. 108 33gig 15k sas drives setup DAS here so I can't help ya....
 
I have a different opinion about one point: the logs's arrays should not be striped. They should be simple mirrors. This would half your latency.

And I distrust the "the EVA takes EVERY spindle in the physical array and spreads out your virtual array ! Very cool !" bit, because if this virtual array is shared between multiple servers, you will be losing all of that performance to unknown servers at unpredictable times, i.e.: you performance will be inconsistent due to disk access from other servers. It may even hurt in single-server configurations, because your different kinds of disk IO are no longer independent of each other.

Yet, does anyone has the cache hit ratios? ;-)
 
[ QUOTE ]

Yet, does anyone has the cache hit ratios? ;-)

[/ QUOTE ]

I believe I posted them....
 
Ok. That was a very high ratio you mentioned.

What I have seen so far (i.e.: with a 4GB cache on a SAN) was ~90% for tempdb, but only ~10% for production data and maybe around 30-50% for logs. This is on the same system, mind you.

Can you see the cache ratio for different types of arrays? When you say 90%, do you mean across everything, or per array?

And what was the production DB size in this case?
 
Alex

That was for TempDB - which is what Jeff was asking for. As for Proddta - that is all going to be dependent on how Oneworld is being used - every customer is going to be VERY different.

I actually ran into someone yesterday who has some experience with Solid State Drives. I told him about my prediction that within 5 years we'll see SSD based arrays specifically for Tier-1 storage appearing on the market.

I for one am quite eager to get my hands on a SSD array to see how fast OneWorld can perform on it.

However, as I mentioned before - since the price of SSD has come down dramatically to around $1000 for a 32Gb drive - it should certainly now be something that companies should be investigating. I have a white paper on my website written while at JDE that describes a 30% increase in OneWorld performance ACROSS THE BOARD when placing archive logs onto a SSD !
 
Back
Top