Navision is bij ons af en toe erg traag en dit lijkt de laatste tijd alleen maar erger te worden. We hebben een aparte server voor de database. Het databasegebruik is bijna 17 Gb, en de database is 25 Gb. We hebben 14 licenties.
Is het zinvol de database op te splitsen? En heeft iemand hier wat meer informatie over?
0
Comments
Deze regels zijn voor een Navision DB:
-laat de Database Used % niet boven de 80% gaan.
-split de DB op in 5 DB-files van 4GB. Met elk een eigen RAID1-systeem. Dit heeft als voordeel dat het schrijven/lezen verdeeld wordt over 5 verschillende disks in plaats van 1 enkele. (welke RAID gebruiken jullie eigenlijk? RAID5 IS EEN ABSOLUTE NO!!!!)
-Gebruik een DBcach van 850MB (in theorie gaat het tot 1GB,maar meestal is dat niet mogelijk)
-Gebruik commit-cache
-Op de clients is het best een voldoende grote object-cache te hebben.
PS zoek ook op het forum voor meer info. Er is heel wat info ivm performantie.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
De problemen kunnen zeer diverse oorzaken hebben en kunnen daarom ook op verschillende manieren worden opgelost.
Heb je al zo'n analyse (laten) uitvoeren?
Als je wilt opsplitsen, moet je voor elk databasedeel een aparte RAID1 set gebruiken (RAID10 mag ook, RAID0 ook, maar dat laatste is niet erg redundant). De databasedelen mogen niet groter worden dan 4 GB per stuk (uit eigen ervaring, daarna gaat de performance omlaag. Microsoft raad zelf databasedelen van 2GB aan). Dat houdt dus in dat je voor een database van 24 GB 6 RAID1 sets nodig hebt. Oftewel: 12 schijven voor alleen de database. Dan ook nog twee schijven voor het OS (RAID1), zodat je een server met 14 schijven nodig hebt.
RAID5 is inderdaad, zoals kriki zegt, volledig uit den boze.
Je zou ook naar SQL server kunnen kijken. Als je toch al een grote aanschaf moet gaan doen, is het voor de toekomst wellicht handiger om daarin te investeren: Performance wordt steeds beter, en het is beter schaalbaar, zonder dat je (na de initiele aanschaf) direct nieuwe hardware moet aanschaffen voor een uitbreiding. Ook is de locking beter geregeld, wat ook voor een betere performance zorgt. Nadeel van SQL is wel dat je, naast de hardware, ook SQL server + de SQL server CALs moet aanschaffen.
Eerst moeten de objecten (vooral indexen en SIFT-fields) ge-optimized worden voor gebruik met SQL. Dit vereist wel enige dagen werk door een specialist. Na dit werk is de DB meestal KLEINER dan de Navision DB doordat er veel Navision-keys/SIFT-fields niet op SQL worden bijgehouden.
Performance voor sommige dingen kan zelfs beter zijn dan op een Navision DB.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Er is meerdere malen aangetoond dat SQL sneller is, maar tunen van SQL kost veel tijd(=geld). Blind overgaan op SQL is sowieso niet verstandig.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Wel een opmerkelijk punt: de database-grootte is van ruim 17 Gb naar ruim 11 Gb gegaan door het splitsen, heel vreemd, maar we lijken toch niets te missen in de database.
Of het veel in performance uitmaakt heb ik niet onderzocht, maar het lijkt mij logisch dat zoeken in minder data sneller gaat, alhoewel met de SIFT in de C/SIDE database maar om 3 lees operaties per query gaat.
Als je na de splitsing nog steeds problemen hebt, dan raad ik aan om een analyse te laten uitvoeren op de specifieke processen waar je de problemen mee ondervindt.
RIS Plus, LLC
Secondaire sleutels uitzetten voor een aantal tabellen is misschien wel een goed idee als dit zoveel scheelt in de grootte van de database. Die secundaire sleutels worden toch waarschijnlijk nauwelijks gebruikt, en als er gebruikers zijn die ze wel gebruiken hoor ik het vanzelf wel...
OLAP vs OLTP
Natuurlijk kun je blind vannalles uitzetten maar wil je dat.
Tunen is een vak appart. O:)
Beter gewoon een keertje goed naar laten kijken.
SIFT levels zijn de niveaus waarvoor sumindex velden worden bijgehouden in de tabellen. Als je een secondaire sleutel hebt met veld1, veld2 en veld3, dan worden standaard de sumindex velden voor alledrie de velden bijgehouden. Als je echter altijd filters zet op alle drie de velden, dan heb je geen totalen nodig voor alleen Veld1 waarde bijvoorbeeld. In de tabel designer kan je aangeven voor welke niveaus je SIFT velden wil bij laten houden. In de C/SIDE database maakt het vrij weinig uit, maar als je hele grote problemen hebt kan het misschien net een beetje verschil maken dat je nodig hebt.
RIS Plus, LLC