Dynamics User Group
Since 1995 - The Microsoft Dynamics Online User Community

Performance Experience with SATA for NAV on SQL DB (was: Navision DB)

rated by 0 users
This post has 28 Replies | 4 Followers

Not Ranked
Posts 2
Points 50
Member since 10-19-2007
Mitesh Posted: 10-19-2007 9:53

 Hi

IHAC who has deployed Navision for Retail stores. The deployment architecture is described below:

Intel Blade with 1 Xeon E5320 Quad Core 1.86 GHz

16 GB memory

4x 146GB SAS Drives

 The App sits on the C Drive of the Blade

The DB sits on an external storage connected via FC HBA

The external storage has a 4Gbps backplane. Uses 6 x 500 GB SATA Disks @ 7200 RPM in RAID 1+0 Configuration

There are 2 RAID controllers both being used for the volume

 

The deployment is facing  huge performance issue. We observe the i/o wait queue is very very high (100% consistently)

Any suggestions on this?

 

Rgds

Top 10 Contributor
Male
Posts 5,421
Points 67,563
Member since 04-12-2001
DynamicsNAVMVP
Moderator
SystemAdministrator

Mitesh:

 Hi

IHAC who has deployed Navision for Retail stores. The deployment architecture is described below:

Intel Blade with 1 Xeon E5320 Quad Core 1.86 GHz

16 GB memory

4x 146GB SAS Drives

 The App sits on the C Drive of the Blade

The DB sits on an external storage connected via FC HBA

The external storage has a 4Gbps backplane. Uses 6 x 500 GB SATA Disks @ 7200 RPM in RAID 1+0 Configuration

There are 2 RAID controllers both being used for the volume

 

The deployment is facing  huge performance issue. We observe the i/o wait queue is very very high (100% consistently)

Any suggestions on this?

 

Rgds

 

 

Hi Mitesh,

 first welcome to The Dynamics User Group, please if you get time go to the introductions section, and tell us more about you.

 

Anyway, I know that at first glance, it looks like a lot of information in your post, but to answer you we really need to know more. Firstly quad core makes no  sense, since Navision uses only one thread, NAV also uses a max of 1 gig, so the extra ram is wasted. Next the SAN is not clear, since its configured wrong, AND you havent said if its dedicated to NAV or shared.

 

Before starting, we need to know how many concurrent users, how big is the database, how many trnasactions per day, how many store locations do you have, and more. Please give tis information so we cna help. 

David Singleton - MVP Dynamics NAV Dynamics NAV Consultant since 1991 Available for Navision Go-Live assistance
Dynamics Book
Not Ranked
Posts 2
Points 50
Member since 10-19-2007

 Hi

Many  thanks for the response. Here is some data that you asked...if u need further clarifications, pls let me know

Q. I need to know how many concurrent users are there?
90 Logins on an Avg....though the database is serializabily accessable (means no two users can modify a particular table...this is done to maintain data integrity) it happens fast if resources are in place.
 
Q. How big is the database?
Right now its around 160 GB
 
Filegroup Name Logical File Name Physical File Name Space Reserved Space Used 
Data Filegroup 1 HO_LIVE_1_Data F:\DATAFILE_1\HO_LIVE_1_Data.ndf 93.74 GB 25.51 GB
Data Filegroup 1 HO_LIVE_2_Data G:\DATAFILE_2\HO_LIVE_2_Data.ndf 93.74 GB 29.48 GB
Data Filegroup 1 HO_LIVE_3_Data F:\DATAFILE_1\HO_LIVE_3_Data.ndf 80.00 GB 16.26 GB
Data Filegroup 1 HO_LIVE_4_Data G:\DATAFILE_2\HO_LIVE_4_Data.ndf 80.00 GB 16.26 GB
Data Filegroup 1 HO_LIVE_5_Data F:\DATAFILE_3\HO_LIVE_5_Data.ndf 80.00 GB 16.26 GB
Data Filegroup 1 HO_LIVE_6_Data G:\DATAFILE_4\HO_LIVE_6_Data.ndf 80.00 GB 16.28 GB
PRIMARY HO_LIVE_Data D:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\HO_LIVE_Data.mdf 1000.00 MB 48.00 MB

Q. How many transactions per day?
More than 5000 transactions per day ....considering 24 x 7

Q. How many store locations do you have supporting this?
Right now only 40 store and growing soon....

Q. Exact RAID Levels?
Raid Levels implemented ....RAID 1+0 (on 6 disks) for DATAFILES and RAID 1 (on 2 disks) for Transaction Logs

Q. Are you sharing this SAN for any other application at the moment?
Not at the moment 
 

 

Top 10 Contributor
Male
Posts 1,004
Points 6,875
Member since 02-02-2000

Hi.

90 users and 160GB DB on that server can cause nothing but trouble.

Based on the information You gave You should go for something like this

  • Windows Ent. Ed 64-bit
  • SQL 2005 Ent. Ed. 64 bit
  • NAV 5.0 executables with platform update 6
  • >4GB RAM
  • 4x3GHz CPU (not 1 as You have today!)
  • 12pcs 15Krpm disks in RAID 0+1 for data
  • 6 pcs 15Krpm disks in RAID 0+1 for log

You'll find the above recommendations and som more if you read the "Dynamics HW Sizing guide v3.pdf"

------------------------------------- Lars Westman Product manager Dynamics NAV Logica sweden Navision consultant since 1996. View Lars Westman's profile on LinkedIn
Top 50 Contributor
Male
Posts 408
Points 6,270
Member since 08-05-2003
DynamicsNAVMVP

Minor mistake

It's Nav 4.0 executables with platform update 6.

 Also why RAID 0+1 instead of RAID 1+0?

Top 10 Contributor
Male
Posts 5,421
Points 67,563
Member since 04-12-2001
DynamicsNAVMVP
Moderator
SystemAdministrator

 I think this is SQL DB, not Navision DB. Correct?

David Singleton - MVP Dynamics NAV Dynamics NAV Consultant since 1991 Available for Navision Go-Live assistance
Dynamics Book
Top 50 Contributor
Male
Posts 408
Points 6,270
Member since 08-05-2003
DynamicsNAVMVP

yes sql. in one of his post he has the .ndf files listed. 

Top 10 Contributor
Male
Posts 5,421
Points 67,563
Member since 04-12-2001
DynamicsNAVMVP
Moderator
SystemAdministrator

Rashed:

yes sql. in one of his post he has the .ndf files listed. 

 

 

Sorry I should have been more clear, I meant the message to Mitesh, to confirm before I moved this tot he SQL forums and changed the subject from "Navision DB" to "SQL DB".

 

But yes its pretty obvious, so I will just move it. 

David Singleton - MVP Dynamics NAV Dynamics NAV Consultant since 1991 Available for Navision Go-Live assistance
Dynamics Book
Top 200 Contributor
Male
Posts 88
Points 670
Member since 04-30-2007
Moderator

Moved to SQL forum.

Dynamics User Group Spread the word, add this snippet of code to your web site and help promote this site: Dynamics User Group, Since 1995 - the Microsoft Dynamics Online User Community Report site problems to Dynamics User
  • | Post Points: 5
Top 10 Contributor
Male
Posts 5,421
Points 67,563
Member since 04-12-2001
DynamicsNAVMVP
Moderator
SystemAdministrator

Rashed:
...

 Also why RAID 0+1 instead of RAID 1+0?

 

I agree.

 

Lars any reason you prefer 0+1 ? 

David Singleton - MVP Dynamics NAV Dynamics NAV Consultant since 1991 Available for Navision Go-Live assistance
Dynamics Book
Top 10 Contributor
Male
Posts 1,004
Points 6,875
Member since 02-02-2000

It's You own choice to run RAID 10/1+0 or 0+1. Microsoft suggests 0+1 in their sizing guide. RAID 10 is more fault tolerant but RAID 0+1 is faster.

The key difference from RAID 1+0 is that RAID 0+1 creates a second striped set to mirror a primary striped set. You could say it's a RAID0 with a mirror of the complete RAID0 set. The array continues to operate with one or more drives failed in the same mirror set, but if two or more drives fail on different sides of the mirroring, the data on the RAID system is lost.

RAID 1+0 is mirrored sets in a striped. The key difference from RAID 0+1 is that RAID 1+0 creates a striped set from a series of mirrored drives. The array can sustain multiple drive losses as long as no two drives lost comprise a single pair of one mirror.

So if You wan't performance but still some redundancy choose 0+1. But if You loose disks on both sides of the mirror You are lost. If You choose 1+0 You can loose more disks and still be up and running. RAID 10 is more redundant but You pay with a bit lower performance.

You can read more here http://www.acnc.com/04_00.html (nice graphics) and here http://en.wikipedia.org/wiki/RAID

Rgds

Lars

------------------------------------- Lars Westman Product manager Dynamics NAV Logica sweden Navision consultant since 1996. View Lars Westman's profile on LinkedIn
Top 10 Contributor
Male
Posts 5,421
Points 67,563
Member since 04-12-2001
DynamicsNAVMVP
Moderator
SystemAdministrator
lars westman:

It's You own choice to run RAID 10/1+0 or 0+1. Microsoft suggests 0+1 in their sizing guide. RAID 10 is more fault tolerant but RAID 0+1 is faster.

The key difference from RAID 1+0 is that RAID 0+1 creates a second striped set to mirror a primary striped set. You could say it's a RAID0 with a mirror of the complete RAID0 set. The array continues to operate with one or more drives failed in the same mirror set, but if two or more drives fail on different sides of the mirroring, the data on the RAID system is lost.

RAID 1+0 is mirrored sets in a striped. The key difference from RAID 0+1 is that RAID 1+0 creates a striped set from a series of mirrored drives. The array can sustain multiple drive losses as long as no two drives lost comprise a single pair of one mirror.

So if You wan't performance but still some redundancy choose 0+1. But if You loose disks on both sides of the mirror You are lost. If You choose 1+0 You can loose more disks and still be up and running. RAID 10 is more redundant but You pay with a bit lower performance.

You can read more here http://www.acnc.com/04_00.html (nice graphics) and here http://en.wikipedia.org/wiki/RAID

Rgds

Lars

 

Thanks Lars, that makes very good sense. i have always erred on the side of caution, and thus suggested RAID 10, but of course the likely hood of two drives failing at the same time on separate arrays is so slim that it does make sense to go RAID 0.

David Singleton - MVP Dynamics NAV Dynamics NAV Consultant since 1991 Available for Navision Go-Live assistance
Dynamics Book
Top 10 Contributor
Male
Posts 1,363
Points 17,805
Member since 01-23-2004
DynamicsNAVMVP

0+1: striping mirrored sets

1+0: mirroring striped arrays

The way it was explained to me: 0+1 is faster as well as more fault tolerant. You can theoretically lose one disk in each mirrored set and still run, losing one disk only affects the disk itself, since there is still a mirrored disk available. With 1+0, if you lose one disk, the whole striped array that this disk belongs to becomes useless.

Top 10 Contributor
Male
Posts 5,421
Points 67,563
Member since 04-12-2001
DynamicsNAVMVP
Moderator
SystemAdministrator

DenSter:

0+1: striping mirrored sets

1+0: mirroring striped arrays

The way it was explained to me: 0+1 is faster as well as more fault tolerant. You can theoretically lose one disk in each mirrored set and still run, losing one disk only affects the disk itself, since there is still a mirrored disk available. With 1+0, if you lose one disk, the whole striped array that this disk belongs to becomes useless.

 

 

actually its the other way around. 

 

If you have 10 drives, then in  0+1 you take a RAID zero of 5 drives , i.e a stripe, and then you take two of them and create a raid one from those two stripes. 1+0 you take 2 drives and RAID 1 them, and then combine the 5 RAID 1s as a stripe.

 

Really it all comes down to statistics, and its interesting to hear other peoples experience of what is better. In my opinion, the performance advantage of a RAID 0+1 is only in read, since statistically a read only requires a response from the fastest of the stripes, where as a in RAID1+0 you need to wait for the slowest response of each of the pairs. But in write, you still need to write to 10 drives, so theoretically there is no write difference. And Write is what generally kills us, so I go for RAID 10.

As to reliability, both RAID 10 and RAID zero can continue to operate with 5 failed drives out of 10, but in raid 0 this only applies if all the drives are in the same stripe, in RAID 0 it works only if it is one of each pair or RAID 1's fails. Statistically the chance or a second drive fail killing RAID 01 is definitely higher than the chance of a RAID 10 fail. So I would always go for a RAID 10, but thinking more of what Lars says, the odds are so slim, that really its probably better to get that slightly better read performance. Do the math, and work out the odds, but either way the MTBF in both cases is more than our life times, so....

Now if we look at the log file, then our concern is Write, so logically there is no advantage to RAID 01, so the Log we should put on RAID 10.

At this point I need to go an find some of my old Statistics books (which I have no idea if I even have anymore) to try and work out which is best. Ah Mr. Pascal, all your time spent in Casinos was not wasted after all. Just think, without Pascal where we would all be.

 

I really think it comes down to practical experience and what works best, which is why its great that we can have discussions like this. 

David Singleton - MVP Dynamics NAV Dynamics NAV Consultant since 1991 Available for Navision Go-Live assistance
Dynamics Book
Top 10 Contributor
Male
Posts 1,004
Points 6,875
Member since 02-02-2000
lars westman replied on 10-20-2007 23:03