Avatar billede atroxes Nybegynder
28. februar 2008 - 08:01 Der er 2 kommentarer

C5 4.0 MS SQL Optimering

Jeg sidder med en MS SQL server som indeholder hele firmaets salgsdatabase, regnskaber osv osv. Fylder ca. 4.1GB. Databasen bliver jævnligt indekseret ved hjælp af microsofts egen database maintenance, scheduled til en gang hver nat og jeg starter også folks klienter med "-p-" parametren.
Serverne består af 2x Xeon med hver 2GB RAM og 10k rpm SCSI Raid-1 diske. Server 1 kører _kun_ MS SQL og står alene for databasen. På Server 2 ligger selve C5 mappen, denne bliver også brugt som filserver men har generelt et meget lille load, og laver slet intet efter kl 16 hvor jeg sad og testede på den. Begge kører Windows 2003 SBS.

Så kommer problemet. C5 er sløv. F.eks. har en afdeling oprettet et Projekt med omkring 1.000 faktureringer, og når de vælger dette regnskabs ID tager det ufatteligt lang tid bare at se dette projekt. Dette ved jeg så ikke om er normalt selvfølgelig.

Ydermere testede jeg med en Udv. Menu -> Kør XAL -> PerformanceTest som viste følgende efter 10 kørsler:

1. Maskinhastighed: 0,02 sek.
2. Beregninger: 0,01 sek.
3. Database - Indsæt: 0,63 sek.
4. Database - Søgning: 0.05 sek.
5. Database - Slet: 0.57 sek.

Ummidelbart synes jeg Indsæt og Slet tiderne ser utroligt høje ud og som sagt ændrer de sig ikke selvom jeg bruger "-p-" parametren.

Har i umiddelbart idéer eller input i kan komme med til optimering? Jeg kan selvfølgelig sætte en mand på det, men de tusindvis af kroner kan nemt bruges bedre, f.eks. på en hurtigere kaffemaskine!
Avatar billede jasman Nybegynder
29. februar 2008 - 00:00 #1
Jeg tror der skal en Broholm til. :)
Avatar billede Slettet bruger
17. marts 2008 - 08:41 #2
Der er et par ting du kan gøre.

Hold op med at bruge re-indexeringen. Der er en del grunde til det - den vigtigste er klart at SQL-serveren er langt bedre til at styre det. Derudover skal I lade være med at genstarte SQL-serveren med mindre der er en rigtig god grund til det.

C5's SQL-implementation lader en del tilbage at ønske. Foreign key constraints anvendes overhovedet ikke, index er ikke clustered, fremmednøgler er ofte strenge (og tilmed højrestillede...). Når C5 forespørger i databasen er det uden index - dvs. at SQL selv står for alt - og derfor er i meget afhængige af de execution-plans, den finder - og hele den optimering bliver smadret hver gang I genstarter serveren eller kører C5's re-indexering.

Jeres problem ligger ikke på indsæt/slet, som jeg hører det. Hvordan er jeres klienter koblet på? Terminal Server eller tykke klienter? Sørg under alle omstændigheder for at de har masser af CPU og RAM at gøre godt med. C5 tager mere end man regner med.

Dernæst kommer den dyre del - har I nogen tilretninger i Projektkartoteket? Det lyder som om I har 'dyr' kode til at ligge i post-load triggeren på ProKart-blokken i formen ProKart. Prøv at slå alt automatisk efterberegning fra (Projekt/Tilpasning/Parametre).

Vores erfaring er at de største problemer på SQL-installationer som regel aldrig er SQL-serveren. C5 har et par... uhensigtsmæssigheder med hensyn til at den afvikler C5's Init trigger for hver eneste post den finder i en helt almindelig SELECT-sætning. Derudover anvender C5 ikke Inner joins (med mindre man selv skriver sine SELECT's manuelt, hvilket de færreste gør)  - dvs. at C5 løber et kartotek igennem, og for hver post sender en ny forespørgsel afsted på det indlejrede kartotek.

Men det kunne være rart at høre lidt mere om, hvad I har fået skruet på i projektkartoteket (jeg har endnu ikke set en installation med seriøs bruag af Projekt, som ikke er blevet skruet et eller andet sted). Og derudover resten af jeres setup.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester