Avatar billede krogstrup Nybegynder
19. december 2002 - 19:23 Der er 31 kommentarer og
2 løsninger

MS SQL server >>> MS Access ???

En bekendt påstår at Access databaser ved brug i webløsninger svarer MEGET hurtigere end en SQL server såfremt det drejer sig om at hente recordssets og altså ikke om deciderede opdateringer af databasen.

Det er jeg meget uforstående overfor - kan det virkelig passe at Access er hurtigere til at ekspedere recordssets end SQL server ????
Avatar billede krogstrup Nybegynder
19. december 2002 - 19:24 #1
Han skriver bl.a. følgende:

"Access er meget hurtig til at levere data i forhold til en SQL server,
nogle af vores test viser at Access er 4-6 gange hurtigere end MS SQL,
både ved læsning og skrivning. Har man derimod mange brugere der skriver
til Access samtidigt, vil den ikke kunne komme i nærheden af en SQL
server."
Avatar billede krogstrup Nybegynder
19. december 2002 - 19:25 #2
Det skal siges at vores case scenario er et website der har ca. 6000 besøgende om ugen !
Avatar billede arne_v Ekspert
19. december 2002 - 19:39 #3
Hmmm.

Han har fuldstændigt ret i at Access ikke er godt til
mange samtidige opdateringer.

M.h.t. læsning, så er der 2 forskellige scenarier:

1)  applikation og Access database på samme server
    versus
    applikation og SQLServer på samme server

2)  applikation på en server og Access databse på mappet drev på anden server
    versus
    applikation og SQLServer på to forskellige servere

SQLServer vil være hurtiger end Access i scenarie #2.

Men jeg vil faktisk godt tro på, at Access er hurtigere end
SQLserver i scenarie #1.
Avatar billede krogstrup Nybegynder
19. december 2002 - 19:47 #4
Scenarie:

Antal brugere: 6000 pr uge (ikke opdateringer MEN læsninger)

Application og access database på samme server
versus
Application og SQL server på to forskellige servere

???
Avatar billede sup Nybegynder
19. december 2002 - 19:48 #5
Det kan jeg ikke få til at passe.

De tests jeg har kørt har vist det modsatte. SQL Serveren er væsenlig hurtigere til at hente recordssets end Access.

Man har dessuden muligeheden for at optimere yderligere ved at bruge stored procedures og så går det stærkt :)

Sup.
Avatar billede sup Nybegynder
19. december 2002 - 19:51 #6
Spørgsmålet er om hans netværk eller SQL Server er belastet.

De tests jeg har kørt med SQL Serveren har været sammen med IIS 5.0 på samme maskine.

Det er muligt at hans acces svarer hurtigere når den ligger på samme maskine.

Sup.
Avatar billede arne_v Ekspert
19. december 2002 - 19:56 #7
Altså med 6000 besøgende om ugen, så er performance et teoretisk
issue.

6000 besøgende per uge og 10 minutters besøg = 3 samtidigt besøgende

Hvilket næppe er et problem for nogen database.
Avatar billede sup Nybegynder
19. december 2002 - 19:58 #8
Avatar billede arne_v Ekspert
19. december 2002 - 19:59 #9
sup>

Det virker meget logisk at:
    applikation--database library--disk fil
er hurtigere end:
    applikation--database library--net protoko--database server--disk fil
Avatar billede arne_v Ekspert
19. december 2002 - 20:01 #10
sup>

Det link du angiver taler netop om størrelsen og antallet
af flytninger af data, hvilket kun er et problem når der
er 2 systemer.
Avatar billede sup Nybegynder
19. december 2002 - 20:09 #11
Yep. Giver arne ret i at perfermance kommer nok ikke til at spille ind i det pågældende scenarie, hvor ham gutten faktisk kan have ret i at hans Access er hurtigere fordi den ligger på webserveren.

Sup.
Avatar billede krogstrup Nybegynder
19. december 2002 - 21:32 #12
vil det sige at konklusionen er at Access rent faktisk kan være hurtigere end en velfungerende SQL server ???
Avatar billede arne_v Ekspert
19. december 2002 - 21:39 #13
Hvis det kun er read access og hvis databasen befinder sig på
samme server som applikationen: ja.

Og det er altså også 2 ret restriktive betingelser.

(og man kan også spørge: hvorfor overhovedet bruge en database
i den sammenhæng)
Avatar billede krogstrup Nybegynder
20. december 2002 - 13:59 #14
Problemet er at applicationen på nuværende tidspunkt nogen gange for serveren til at gå i 100% i processoraktivitet. Kan det skyldes at Access ikke kan følge med ??? Eller mener I at det umiddelbart skyldes dårlig asp kode ?
Avatar billede arne_v Ekspert
20. december 2002 - 14:51 #15
Hvis I bruger nogle meget komplekse queries med masser af joins
og specielt masser af funktions-kald, så kan Access godt være
meget CPU krævende.

Men i alle normale tilfælde bør selve database delen være
IO bound med lav-medium CPU forbrug.

Så det er det mest sandsynelige, at det er din ASP, som
er for tung.
Avatar billede krogstrup Nybegynder
20. december 2002 - 14:53 #16
Hvad i min ASP kode kunne det f.eks. være, som crasher/belaster serveren ???

Jeg ved at der ikke er nogle deciderede kodefejl - men der kan selvfølgelig måske godt være noget kode, der kunne skrives på en smartere måde...
Avatar billede krogstrup Nybegynder
20. december 2002 - 14:54 #17
Det skal lige nævnes at det er nogle MEGET enkle queries der bliver sendt til databasen - ingenting med joins overhovedet !
Avatar billede sup Nybegynder
23. december 2002 - 11:12 #18
Endnu engang. Access er ikke hurtigere end en velfungerende SQL server.

Hvad fylder din Access database i MB?
Hvor mange poster er der?
Hvor mange poster finder den frem når du siger cpu'en på serveren går i 100%?

Kan ikke udlukke af det er din kode hvis du ikke lukker dine database connections rigtigt.

Sup.
Avatar billede krogstrup Nybegynder
23. december 2002 - 11:26 #19
Jeg lukker ALLE connections korrekt !

Basen fylder 3,5 MB !

Der er ikke voldsom mange poster i basen - i den største tabel måske nogle hundrede...

Jeg hælder selv mest til at det måske skyldes serverkonfigurationen !
Avatar billede sup Nybegynder
23. december 2002 - 11:48 #20
Ja det må det være og databasen fylder jo ikke noget.

Hvilken webserver kører du med?

Du siger at serveren går i 100% belastning, hvor længe og er det de samme filer den gør det ved hver gang?

Har din webserver crashet på noget tidspunkt?

Sup.
Avatar billede arne_v Ekspert
23. december 2002 - 11:57 #21
3.5 MB database, readonly og simple queries bør køre lynene
hurtigt.

Data bør ligge i disk cache og skal bare flyttes fra memory
til memory.

Jeg tror på, at det er ASP koden.
Avatar billede krogstrup Nybegynder
23. december 2002 - 11:59 #22
Problemet er at hjemmesiden bliver hostet på en server, jeg ikke har adgang til. Så jeg ved ikke så meget andet end at de benytter IIS.

Men jeg takker for jeres svar - jeg synes da jeg er kommet lidt videre...
Avatar billede sup Nybegynder
23. december 2002 - 12:01 #23
Enig det bør gå hurtigt.

Kunne være fedt hvis vi kunne se noget af koden...

Sup.
Avatar billede krogstrup Nybegynder
23. december 2002 - 12:34 #24
vi er helt nede i noget så simpelt som følgende:

Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM sider WHERE ID = " & ID
rs.Open strSQL, strDSN, 1, 1
response.write rs("indhold")
funktion = rs("funktion")
rs.Close
Set rs = Nothing
Avatar billede krogstrup Nybegynder
23. december 2002 - 12:35 #25
Det drejer sig om dette site:
www.bildillen.dk
Avatar billede sup Nybegynder
23. december 2002 - 12:58 #26
Kører da fint.

Sup.
Avatar billede krogstrup Nybegynder
23. december 2002 - 13:06 #27
I know - det gør det bare ikke altid...
Avatar billede sup Nybegynder
23. december 2002 - 13:28 #28
Måske hoster serveren for mange sites og bliver belastet på nogle tidspunkter.
Jeg undrer mig over at du nævnte at serveren kunne gå på 100% belastning, hvis du siger sitet er hostet på en ekstern udbyder. Hvordan kan du se serverens belastning :)

Sup.
Avatar billede krogstrup Nybegynder
23. december 2002 - 13:30 #29
Jeg har en dialog med server-administratoren som har fortalt mig hvad der sker nogen gange...
Avatar billede krogstrup Nybegynder
23. december 2002 - 13:32 #30
kan I ikke begge give mig et svar - så jeg kan komme af med nogle points...?
Avatar billede krogstrup Nybegynder
23. december 2002 - 13:33 #31
øh - dvs. sup, da jeg kan se at arne_v har smidt et svar !
Avatar billede sup Nybegynder
23. december 2002 - 13:36 #32
Okay der var måske noget galt på serveren. Fedt du fandt ud af det.

Sup.
Avatar billede krogstrup Nybegynder
23. december 2002 - 13:39 #33
Takker mange gange for jeres indsats :-)
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
Kurser inden for grundlæggende programmering

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