Kom ihåg mig?
Home Menu

Menu


Prestanda flera Access-db

 
Ämnesverktyg Visningsalternativ
Oläst 2006-05-15, 16:16 #1
Yepp Yepp är inte uppkopplad
Medlem
 
Reg.datum: Mar 2003
Inlägg: 298
Yepp Yepp är inte uppkopplad
Medlem
 
Reg.datum: Mar 2003
Inlägg: 298
Okay, har sökt en hel del - såväl här som externa källor, men inte hittat några riktigt tillfredställande svar - förhoppningsvis finns det någon som kan ge lite klarhet i det hela...

Well, vet sen tidigare att Access inte är speciellt optimerat för webbplatser med ett större antal användare, men av ren enkelhet valdes den metoden inledningsvis och plötsligt börjar man känna att man kanske växt ur det hela...
Det jag undrar är då om det påverkar något om man använder sig av flera access-databaser. Dvs man anropar inte dem samtidigt på samma sida, men om man väljer att splitta upp innehåll så att beroende på vad som hämtas används olika databaser. Påverkar det prestandan positivt eller negativt?
Finns det några andra tips man bör tänka på vid användning av access-db, förutom de klassiska att t.ex. stänga alla databaskopplingar så fort man är klar och så?

Dessutom som en bonusfråga - ungefär när har man "växt helt ur" access, när är det dags att "make the switch" till MySql motsvarande - hur omständigt är en konvertering? Någon som har erfarenhet av att ändra ifrån access till t.ex. MySql - hur mycket måste ändras i den ASP-kod som används idag? Eller räcker det med att ändra själva koden för kopplingen - som t.ex. nämns i detta inlägg http://www.webmasternetwork.se/index...and,mysql&s=wn

Välkomnar alla typer av inlägg och svar
Yepp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-15, 22:22 #2
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
grazzy grazzy är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Mar 2004
Inlägg: 3 471
Att köra flera databaser och göra "hack" runt ett befintligt stort problem (som microsoft access i 9 av 10 fall är) är fel.

Det är troligen inte så jobbigt att konvertera. Om ni inte har tidigare erfarenhet av mysql blir det såklart jobbigare eftersom ni då måste lära er att administrera (både som systesystemadmins och databasadmins) mysql vilket är betydligt mera avancerat än med access.

MySQL är enligt många benchmarks upp mot 10 gånger så snabbt som access och kommer således att skala betydligt bättre. Frågan ni borde ställa er är primärt hur mycket ni kommer att växa och redan nu kanske planera för "nästa" steg, dvs när ni måste klustra eller liknande.

Avråder iaf starkt från att försöka bushacka förbi ert problem, köp i så fall temporärt en fetare dedikerad databasserver.
grazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-15, 22:37 #3
hundservers avatar
hundserver hundserver är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Aug 2004
Inlägg: 905
hundserver hundserver är inte uppkopplad
Mycket flitig postare
hundservers avatar
 
Reg.datum: Aug 2004
Inlägg: 905
Citat:
Originally posted by Yepp@May 15 2006, 16:16
Okay, har sökt en hel del - såväl här som externa källor, men inte hittat några riktigt tillfredställande svar - förhoppningsvis finns det någon som kan ge lite klarhet i det hela...

Well, vet sen tidigare att Access inte är speciellt optimerat för webbplatser med ett större antal användare, men av ren enkelhet valdes den metoden inledningsvis och plötsligt börjar man känna att man kanske växt ur det hela...
Det jag undrar är då om det påverkar något om man använder sig av flera access-databaser. Dvs man anropar inte dem samtidigt på samma sida, men om man väljer att splitta upp innehåll så att beroende på vad som hämtas används olika databaser. Påverkar det prestandan positivt eller negativt?
Finns det några andra tips man bör tänka på vid användning av access-db, förutom de klassiska att t.ex. stänga alla databaskopplingar så fort man är klar och så?

Dessutom som en bonusfråga - ungefär när har man "växt helt ur" access, när är det dags att "make the switch" till MySql motsvarande - hur omständigt är en konvertering? Någon som har erfarenhet av att ändra ifrån access till t.ex. MySql - hur mycket måste ändras i den ASP-kod som används idag? Eller räcker det med att ändra själva koden för kopplingen - som t.ex. nämns i detta inlägg http://www.webmasternetwork.se/index.php?a...,and,mysql&s=wn

Välkomnar alla typer av inlägg och svar
varför inte helt sonika satsa på en sql databas lösning ist??
hundserver är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-15, 22:41 #4
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
Jag kör 1miljon+ dynamiskt genererade sidor mot access per månad på en sajt, med gamla asp. Med rätt kodning håller det rätt länge.

Nu håller jag iof på att byta till sqlserver och .net, men det är pga expansion som är förestående.
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-15, 22:45 #5
Westmans avatar
Westman Westman är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jun 2004
Inlägg: 4 021
Westman Westman är inte uppkopplad
Klarade millennium-buggen
Westmans avatar
 
Reg.datum: Jun 2004
Inlägg: 4 021
Mycket beror på servern i sig. Jag har mycket dålig erfarenhet av Accessdatabaser när det är en del (50+) samtidig trafik som ska läsa och skriva i databaserna. Läsa fungerar bra men skriva, det är inte kul. Det brukar sluta med att servern köar förfrågningar och det blir allmänt tvärsegt.

Nej, sql i alla dess formar är överlägset. Access är marginellt bättre än textfiler.
Westman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-15, 22:57 #6
Yepp Yepp är inte uppkopplad
Medlem
 
Reg.datum: Mar 2003
Inlägg: 298
Yepp Yepp är inte uppkopplad
Medlem
 
Reg.datum: Mar 2003
Inlägg: 298
Okay - tackar för inläggen. Upplever idag inga problem med access som db, men känner att det säkerligen inom en kanske inte alltför snar framtid är dags att ändra databaslösning. Stämmer mycket riktigt att mina erfarenheter inom övriga lösningar, t.ex. MySql är väldigt begränsade.

hundserver: Som sagt, anledningen att en satsning på en annan lösning inte skett är att allting succesivt växt fram. Dessutom är som nämnt kunskaperna inom övriga lösningar relativt begränsade.

digiArt: Intressant att höra att det alltså trots allt går att ha relativt höga belastningar, men jag antar att det är dags (precis som för er) att alltså inom en inte alltför lång framtid konvertera.

grazzy: Hehe... okay inga bushack är aktuella alltså - är det en analys av det hela, eller har du själv erfarenheter av att arbeta mot flera access-db på en och samma webbsida?

Westman: i dagsläget är det främst läsning, men med tanke på att antalet registerade användare ökat relativt kraftigt och därmed också "typiska community-funktioner såsom meddelanden fram och tillbaks" - så jag antar att även skrivandet till db är på väg uppåt.

Vore trots allt intressant att veta om någon provat att använda sig av flera Access-db till en och samma webbsida (dvs det handlar aldrig om någon samtidig användning av det båda - utan t.ex. som exempel att man i noveller.asp använder sig av noveller.mdb och i artiklar.asp använder artiklar.mdb för att göra en simpel förenkling)...
Yepp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-16, 09:14 #7
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
Citat:
Originally posted by Yepp@May 15 2006, 22:57
...som exempel att man i noveller.asp använder sig av noveller.mdb och i artiklar.asp använder artiklar.mdb för att göra en simpel förenkling)...
Nej, gör inte så. Du har direkt med detta tappat iden med databaser. Det heter relationsdatabaser, försök att göra en join på ett vettigt sätt över flera databaser.

Byt hellre i så fall till ngt med bättre prestanda. Särskilt ngt som kan handha lagrade procedurer, ex. MySql 5 eller SqlServer (Oracle och andra finns också, men är nog inte de som finns mest tillgängliga via shared hosting).

(I mitt exempel ovan handlar det främst om läsning av data, inte skrivning)
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-16, 09:27 #8
Systementor Systementor är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2006
Inlägg: 42
Systementor Systementor är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2006
Inlägg: 42
Citat:
flera Access-db till en och samma webbsida (dvs det handlar aldrig om någon samtidig användning av det båda - utan t.ex. som exempel att man i noveller.asp använder sig av noveller.mdb och i artiklar.asp använder artiklar.mdb för att göra en simpel förenkling
Visst har jag gjort såna lösningar. Dock inte pga prestandakrav utan för att förenkla uppdateringar (ville jag lägga till ett fält i tabellen ARTIKEL kunde jag ladda hem artikel.mdb, öppna filen i Access och lägga till fältet, och sedan ladda upp filen till servern igen - utan att andra delar av sajten blev lidande).

Jag är faktiskt lite osäker på om en sån här split som du föreslår skulle göra så mycket för prestandan - jag menar mot varje enskild tabell har du ju fortfarande precis samma belastning. Jag tror inte att databasanropen från noveller.asp "störs" av anropen på Artiklar.asp oberoende om tabellerna [novell] och [artikel] ligger i samma databas eller inte. Kanske har jag dock fel - jag är något osäker på hur lockhanteringen funkar i Access - kanske den är global för databasen i något avseende.

För prestanda tror jag mer på vertikal split - dvs splitta varje tabell i enskilda databaser - tex Artiklar200604, Artiklar200605 etc

Detta ger dock en i grunden helt oacceptabel design - men beroende på din lösning kanske den är ok ändå.

Jag har dock haft mycket goda erfarenheter av Access i webblösningar - prestandan är bättre än man tror - skriver du koden rätt och ser till att ha din connection öppen så kort tid som möjligt så ska det mycket till innan du får "krockar" = samtidiga användare mot databasen (detta är långt ifrån samma som samtidiga besökare på websajten).

Dock vill jag säga att även om man kan få en prestanda som är "god nog" med Access så är det inte jämförbart med en riktig databasmotor som MySQL eller MSSQL.

De (relativt enkla) tester jag gjort ger följande resultat

Vid många samtidiga användare är MySQL minst 10 gånger snabbare än Access - använder du stored procedures i MySQL5 kommer du upp i 20 gångers skillnad - där ligger också MSSQL.

Vid sekvensiella anrop (inga samtidiga) är MySQL och MSSQL runt 2-5 gånger snabbare.
Systementor är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-16, 09:31 #9
Westmans avatar
Westman Westman är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jun 2004
Inlägg: 4 021
Westman Westman är inte uppkopplad
Klarade millennium-buggen
Westmans avatar
 
Reg.datum: Jun 2004
Inlägg: 4 021
Citat:
Originally posted by Yepp@May 15 2006, 22:57
Vore trots allt intressant att veta om någon provat att använda sig av flera Access-db till en och samma webbsida (dvs det handlar aldrig om någon samtidig användning av det båda - utan t.ex. som exempel att man i noveller.asp använder sig av noveller.mdb och i artiklar.asp använder artiklar.mdb för att göra en simpel förenkling)...
Jo jag har, visst underlättar det så länge du inte ska öppna flera olika databaser från samma asp-fil för då tar det lägre tid och mer resurser men som sagt ska du göra en förändring så skulle jag iallafall rekommendera att gå över till mysql.
Westman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2006-05-16, 12:14 #10
Systementor Systementor är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2006
Inlägg: 42
Systementor Systementor är inte uppkopplad
Nykomling
 
Reg.datum: Apr 2006
Inlägg: 42
Citat:
hur mycket måste ändras i den ASP-kod som används idag
Det jag kan minnas att jag brukar stöta på vid konvertering Access -> MySQL

- connectionsträngen givetvis

- datum (kanske använder du now() eller ngt i sql:en)

- vill också minnas att "inre SQL"-satser strular i MySQL (dvs har du sql såsom
select * from tabell_a where id in (select id from tabell_b))
får du göra om till en vanlig join istället
Systementor är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 15:02.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017