How to configure Drives for Optimum performance with SQL

glennrl
Member Posts: 2
I am running Navision 3.6 on a Dell 6600 Quad Xeon machine with 4GB of Ram. I'm using PERC 4 hardware RAID 10 with 4 drives dedicated to the Database files. RAID 1 with 2 drives dedicated to the Log files and RAID 1 with 2 drives for the Temp database.
There are two database files, a primary (.mdf) and a data file (.ndf). Both of these files reside on the RAID 10 array comprised of 4 drives. The log file is a single file and the Temp database is divided into 4 primary files.
I was wondering if anyone could help explain the best way to setup the drive system for optimum performance. Currently I'm seeing a lot of PAGEIOLATCH_EX waits come up. From the client side the system seems slow.
I've read that as you increase the number of drives you should divide the database among them. I'm not sure if that means creating several data files (.ndf) and placing them on the separate drive volumes.
Any help would be greatly appreciated.
Thanks,
Glenn
There are two database files, a primary (.mdf) and a data file (.ndf). Both of these files reside on the RAID 10 array comprised of 4 drives. The log file is a single file and the Temp database is divided into 4 primary files.
I was wondering if anyone could help explain the best way to setup the drive system for optimum performance. Currently I'm seeing a lot of PAGEIOLATCH_EX waits come up. From the client side the system seems slow.
I've read that as you increase the number of drives you should divide the database among them. I'm not sure if that means creating several data files (.ndf) and placing them on the separate drive volumes.
Any help would be greatly appreciated.
Thanks,
Glenn
0
Comments
-
It can help, but in this case will be solution the key optimizations (optimize cost of modification - use as few indexes as possible, use optimal indexes, use SIFT tables just if needed to keep the performance of reading...) - if you calc the cost of one insert for example on standard table Item Ledger entry, each insert need to modify 16 indexes, 2 SIFT tables with each with 5 levels of details... it is 27 modifications per one record insert (16 indexes, 2*5 SIFT records, 1 record itself). You can disable not-needed indexes (indexes, not keys) and you can lower the cost to 50% without noticable performance lost on reading...
But it needs some time and testing...0 -
I'm sorry guys i seem to not understand the difference between key and index in navision? can somebody please clear this issue for me? when i go view --> keys in table designer, those are the keys right? so where are the indexes? i think i'm having the problem of understanding the namesSaro0
-
Key - it is what you see in Navision - it is Navision key. Index is what is on MS SQL. If MaintainSQLIndex is Yes - for the key will be MS SQL Index created. If no, there will be no SQL Index.
Key - used for reading data from DB and sorting them
Index - used for reading data, but not for sorting. MS SQL is able to sort data in any order without using index for that. It is why you do not need to have Index for all Keys. And because you need indexes mainly for fast reading data (filtering) you need indexes with good selectivity (search for "selectivity" for more info).
See Performance troubleshooting guide for more info about optimizing Navision for MS SQL.0 -
Thank you very muchSaro0
-
If you have a RAID 10 for your database files, the hardware controller will already write the files over multiple disks, so you don't have to create multiple files. It should be enough to just create one file per logical drive, set the sice to what you expect the app to grow to in about 1-2 years, and turn the autogrow off. Also important is to keep the log drive dedicated to the log, don't temporarily store backups on the drive, or you'll notice performance decrease.
What could also help is schedule database maintenance (SQL Server updatestats, index defrag, stuff like that), which you should be able to find in the performance toolkit.0 -
DenSter
Would this also work for navision server version? as to getting the benefits of a raid 10?Saro0 -
Saro wrote:DenSter
Would this also work for navision server version? as to getting the benefits of a raid 10?
What I don't know is what is better : 1 RAID10 with 4 disks or 2 RAID1 with each 2 disks.Regards,Alain Krikilion
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!0 -
The native database server only knows how to utilize one processor, and there's a maximum RAM usage of 1GB (effectively about 800MB), but yes you can use RAID 10 on the native database server.0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions