Avatar billede Lasse Novice
01. juli 2009 - 05:37 Der er 10 kommentarer og
3 løsninger

Langsom database

Jeg har en db der er langsom naar alle brugere er paa (60 mennesker). Folk bruger ikke db'en konstant, men jeg vil skyde paa at der er 10-20 brugere paa ad gangen. Mine server specs er:

Pentium dual core 1.6GHz, 4 GB RAM (3 til db)

Jeg har ingen anelse om hvordan man debugger saadanne et problem. Hvad skal jeg kigge paa (detaljeret beskrivelse ville vaere laekkert)?

Jeg har kigget lidt paa sql server profiler, men har svaert ved at finde ud af hvordan man laeser informationen. Jeg ville ogsaa skyde paa at jeg skal kigge paa query plans, men har svaert ved at laese disse ogsaa, alt hjaelp ville vaere laekkert (evt. GODE links).
Avatar billede HenrikSjang Nybegynder
01. juli 2009 - 08:21 #1
Hvilken sql server kører du på?

Hvis du kører sql server 2005, vil jeg klart anbefale dig at downloade og installere Performance Dashboard, som er en custom report der giver et ret godt overblik over hvad for nogle sql klumper der bruger mest IO og cpu. Og den fortæller samtidig hvis de tunge stumper sql-kode kunne drage nytte af et index.
Avatar billede teepee Nybegynder
01. juli 2009 - 08:50 #2
Prøv at kigge på låsning. Dette kunne også være problemet.
Avatar billede mcb2001 Nybegynder
01. juli 2009 - 13:30 #3
kunne det tænkes at du har sat den til at have f.eks. max 20 connections? For i så fald vil nr. 21 afvente en lede plads - burde normalt ikke være tilfældet med ca. 60 brugere...

Jeg ved der er en "optimize table" i MySQL - tror også der er en i MS SQL - prøv eventuelt at køre den på alle de forskellige tabeller du har.

Du kan også have en harddisk der er stået af f.eks. den ene i et raid - for MS SQL (og alle andre databaser) slider meget på harddiske - undersøg hardware.

Sidst men ikke mindst, så vil jeg anbefale dig at logge på serveren og kigge på om der eventuelt er et program (ikke MS SQL) der bruger RAM eller CPU resourcer.

Det sidste forslag jeg har er at kigge på log-filerne - der kan både stå nyttig information - men der kan også være så absurd mange at harddisken sløves :-)
Avatar billede arne_v Ekspert
01. juli 2009 - 18:24 #4
Er der styr paa det mest basale:
- index paa de rigtige felter
- ingen queries med LIKE '%xxxx
?
Avatar billede Syska Mester
02. juli 2009 - 01:34 #5
Er det 20 samtidige der udfører quries eller ?

For i så fald ville en rimelig normal bruger jo kun udføre en query hvert 10 sek måske ... og så kigge lidt på det der kommer frem ... og så trykke igen ...

Så du ender med noget på ca. 1 query per 4 sek.

Og så ville jeg nok også kigge på overstående som Arne_v siger ... er der rigtige indexes på etc.

Eventuelt lad SQL Profiler stå og hapse lidt data ... prøve de forskellige "settings" ... mener der er en der hedder "tuning", så får du frem hvor lang tid de forskellige quries tager at execute, io read/write og mange andre ting ... du får endte den query der bliver udført ... så kan du tager den med over i SSMS og se en execution plan for den query og se hvor det måske går galt og hvor du kan optimere ...

// ouT
Avatar billede mcb2001 Nybegynder
02. juli 2009 - 09:39 #6
1 query per 4 sekunder - ja det ville være tilfældet på f.eks. en web server...
MEN - f.eks. systemer som Navision bruger databasen 10 gange så meget, da alt skal udlæses fra databasen :-)

Og ja, det er 20 samtidige queries...
Avatar billede Lasse Novice
02. juli 2009 - 16:44 #7
Saa fandt jeg endelig problemet. Jeg har for ca. 3 uger siden opsat at db'en hver aften automatisk genbygger indicer. Den har aabenbart fejlet, og efter at have genbygget dem manuelt, stroeg sql server 2005 afsted igen.

Mange tak for alle svar.

Svar => point!
Avatar billede mcb2001 Nybegynder
02. juli 2009 - 18:03 #8
her
Avatar billede arne_v Ekspert
02. juli 2009 - 19:45 #9
.
Avatar billede Syska Mester
03. juli 2009 - 01:09 #10
svar.
Avatar billede Syska Mester
03. juli 2009 - 01:09 #11
og rigtigt svar :-)
Avatar billede arne_v Ekspert
22. august 2009 - 18:19 #12
Tid at få afsluttet her ?
Avatar billede Syska Mester
13. maj 2010 - 23:07 #13
ha, great ...

Hvem mon har fået det sidste point :-p

mvh
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
Computerworld tilbyder specialiserede kurser i database-management

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