mdb Access-Datenbank sehr langsam

Status
Für weitere Antworten geschlossen.

crazynet24

Benutzer
Mitglied seit
11. Okt 2008
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Bei einem Kunden habe ich eine DS-207+ als kleinen Server installiert, um ein Netzlaufwerk für die angeschlossenen WindowsXP-Rechner zur Verfügung zu stellen.

Auf den Workstations läuft ein Programm, das eine MS-Access Datendatei (*.mdb) als Datenbank nutzt. Diese Datei stelle ich nun per Netzlaufwerk auf der Diskstation zur Verfügung, vorher lag sie auf einem der Workstations selbst und war für die übrigen Rechner per Netzlaufwerk freigegeben. Seither ist die Performance um den Faktor 20-30 mal schlechter. D.h. alleine der Programmstart dauert nun 2 Minuten, was vorher etwa 5-10 Sekunden dauerte. Alle Aktionen, die eine Datenbankabfrage oder -änderung betreffen laufen in dem selben Schneckentempo ab. Wenn die mdb-Datenbankdatei wieder auf die Workstation zurückkopiert wird, also wieder die urspüngliche Situation ohne Diskstation hergestellt wird, ist die Performance im reinen Windows-Netzwerk wieder OK.

Das Kopieren von normalen Dateien funktioniert in üblicher Geschwindigkeit und ist nicht auffällig. Nur Datenbankzugriffe auf mdb-Dateien sind unverhältnismäßig langsam.

Hat jemand Ähnliches oder Gleiches beobachtet? Ein Ansatzpunkt?

viele Grüße
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich würde es grundsätzlich nicht von Vorteil ansehen, wenn die Dateien einer Datenbank nicht auf dem Rechner residieren, wo auch die Datenbank-(Management-)Software liegt. Auch wenn das unter Windows schön geht und auch immer geklappt hat, ist das eigentlich nicht das Wahre.

Denk-Richtung: MySQL-Datenbank-Server auf der DS benutzen und per ODBC von den Access-Clients drauf zugreifen.

itari
 

crazynet24

Benutzer
Mitglied seit
11. Okt 2008
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
vielen Dank

Meine Frage ging in die Richtung "Lösung eines Performance-Problems bei mdb-Dateien". Ich bin an einer Infragestellung des Datenbanksystems, und der Zugriffsmöglichkeiten nicht interessiert. An der Tatsache, dass eine gekaufte Software unglücklicherweise mdb-Dateien als Datenbankspeicher nutzt, kann ich nichts ändern.

Meinen Recherchen zufolge soll das Problem auch DB2-Dateien betreffen?

Gruss
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich habe dir einen Lösungsweg vorschlagen wollen, weil ich annehme, dass du keine Freude mit der Kombination DS und .mdb-Files haben wirst. Für die Zwecke, die du vorhast, brauchst mehr RAM in der DS. Vielleicht schaut eine DS209+ ein wenig besser aus. Oder: Schau dich lieber nach einem Windows-Server um, der macht das besser.

itari
 

TobiasM

Benutzer
Mitglied seit
07. Aug 2008
Beiträge
354
Punkte für Reaktionen
0
Punkte
0
Wie groß ist den die .mdb? Was hast du für ne Übertragungsgeschwindigkeit zw. Client und der DS, wenn du eine normale Datei kopierst?
Haben alle Schreibrecht auf die Freigabe?
Ist die gekaufte Software denn für diese Art multiuser-Betrieb ausgelegt?
Greift die Software direkt per Filesystem auf die .mdb zu oder per ODBC?
Hast du mal googelt, ob es Probleme mit mdb mit SAMBA-Share gibt.
Kannst vielleicht auf dem client einige programme wie wireshark,procmon,etc laufen lassen,um den Engpass genauer zufinden?

@itari:Warum braucht man mehr RAM auf der DS?
 

TobiasM

Benutzer
Mitglied seit
07. Aug 2008
Beiträge
354
Punkte für Reaktionen
0
Punkte
0
so 5-10 User sind da schon recht problemlos möglich, auch von 100 User habe ich mir berichten lassen, wobei das wohl eher eine Ausnahme ist. Kein Vergleich mit DB-Server, aber Access ist sehr nette Tool und für kleine Umgebungen durchaus eine Option, ausser das es "nur" VBA macht, nix OOP.
 

_TokTok_

Benutzer
Mitglied seit
18. Nov 2007
Beiträge
1.310
Punkte für Reaktionen
0
Punkte
0
so 5-10 User sind da schon recht problemlos möglich, auch von 100 User habe ich mir berichten lassen, wobei das wohl eher eine Ausnahme ist. Kein Vergleich mit DB-Server, aber Access ist sehr nette Tool und für kleine Umgebungen durchaus eine Option, ausser das es "nur" VBA macht, nix OOP.

Gehen tut das schon eine Weile, allerdings sind Fehler vorprogrammiert. Aber das ist jetzt reichlich OT
 

TobiasM

Benutzer
Mitglied seit
07. Aug 2008
Beiträge
354
Punkte für Reaktionen
0
Punkte
0
Also ich kenne einige Access-Anwendungen, die mehrer Jahre schon laufen, deine vorprogrammieren Fehler lassen sich wohl recht viel Zeit :)
Aber das ist wirklich OT.
 

_TokTok_

Benutzer
Mitglied seit
18. Nov 2007
Beiträge
1.310
Punkte für Reaktionen
0
Punkte
0
Vielleicht hab ich mich missverständlich ausgedrückt. Es ging mir um den gleichzeitigen Zugriff, womöglich noch über das Netzwerk. Dabei kann es durchaus zu Fehlern kommen. Habe dies mehrfach erlebt. Bspw. beim gleichzeitigen Bearbeiten eines Datensatzes oder plötzlicher Trennung der Netzwerkverbindung. Und dies ist nicht ein vorprogrammierter Fehler von mir, sondern seit Jahren bekannt. Dann muss man die DB reparieren und komprimieren, je nach Häufigkeit kann das lästig werden.
 

TobiasM

Benutzer
Mitglied seit
07. Aug 2008
Beiträge
354
Punkte für Reaktionen
0
Punkte
0
Ja, war schon klar.
Wie gesagt, das dies möglich ist, vor allem bei Netzwerkausfall etc, weiß ich auch.
Das letzte mal das ich eine beschädigte Access-DB(dort wo die Daten drin stehen) hatte, war während meiner Ausbildung also rund 5-6 Jahre her*klopfaufHolz*. Sonst geht höchsten mal das Frontend über die Klinge, aber da reicht ein einfacher drüberkopieren. Wie gesagt, kann ich bei kleinen Umgebungen(5-10 User) bisher wirklich nicht über Access beschweren, was das angeht zumindest. Da stören mich andere Punkte mehr.
 

crazynet24

Benutzer
Mitglied seit
11. Okt 2008
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
Zum Thema zurück, die mdb

Hallo TobiasM,

>Wie groß ist den die .mdb? ...
knapp 90 MByte, "komprimiert und repariert" (was auch immer MS darunter versteht)

Die Dateiübertragungsgeschwindigkeit beträgt beim Kopieren etwa die für 100 MBit üblichen 10-11 MByte pro Sekunde. Der Einsatz eines Gigabit-Switches (alle Kompeneten GBit-fähig) brachte auch keine erkennbaren Geschwindigkeitszuwachs, auch nicht Jumbo-Frame 9000.

> Haben alle Schreibrecht auf die Freigabe?
Selbstverständlich

> Ist die gekaufte Software denn für diese Art multiuser-Betrieb ausgelegt?
Ausdrücklich ja! Es handelt sich nur um 2 Arbeitsstationen, hierfür extra einen Domaincontroller mit MSSQL-Server bereitzustellen wäre kosten-/administrationsmäßiger Overkill.

>Greift die Software direkt per Filesystem auf die .mdb zu oder per ODBC?
Ich vermute per SMB, also Filesystem.

>Hast du mal googelt, ob es Probleme mit mdb mit SAMBA-Share gibt.
Ausgiebig, leider konnte ich bisher keine nützlichen Informationen finden.
Möglicherweise gibt es SAMBA-Probleme.

Kannst vielleicht auf dem client einige programme wie wireshark,procmon,etc laufen lassen,um den Engpass genauer zufinden?
Bisher nicht durchgeführt, wäre eine Möglichkeit.

Die Verwendung von mdb als Datenbank-Datein durch den Hersteller ist höchst fragwürdig, keine Frage. Aber es lässt sich nun mal nicht ändern.
Diesebezüglich werde ich mich mit dem Hersteller auch noch Anfang nächsten Jahres auseinandersetzen.

Danke TobiasM &
Gruss an Alle
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ein populärer Komädiant sagte zutreffenderweise mal folgenden Spruch: "... und wenn man mal keine Ahnung hat, einfach mal die ...... halten".
Willst du itari jetzt hier ernsthaft vorwerfen, dass er keine Ahnung hat??? Wenn er in deinem Thread einen Kommentar abgegeben hat, der dir nicht passt, dann heisst das nicht, dass er keine Ahnung hat!
Schau dir z.B. mal die 3rd Party Applications an. Ohne itari wären die ganz schön leer.
 

EPIX

Benutzer
Mitglied seit
21. Sep 2008
Beiträge
221
Punkte für Reaktionen
0
Punkte
16
na na...

@crazynet24: bitte keine unnötigen Beleidigungen usw...
Ganz objektiv: schau dir mal das Profil von Itari an (besonders alle Beiträge auflisten lassen) und bilde dir ein Urteil über Kompetenz, Engagement und Qualität der Beiträge....

Ich glaube auch das Itari recht hat: eine access Datenbank hat viele Handles gleichzeitig offen (Tabellen, Verknüpfungen und Indexdateien) diese werden im RAM "gehalten", daher ist genügend RAM Speicher notwendig.
ich habe (zugegeben schon einige Jahrte her) druchaus proffesionelle Acces Anwendungen erstellt (Konzept Frontend / Backend) und habe die Erfahrung gemacht, dass RAM für die Performance notwendig ist.

EIn bischen Humor sollte zudem auch vorausgesetzt werden, sodaß nicht jede Bemerkung sofort mit "aller Härte" kommentiert werden muss.
Wie alle im Forum ist Itari "ehrenamtlich" bemüht zu helfen, du solltest dir auch darüber Gedanken machen, wie DU etwas zum Forum beitragen kannt: vorerst hast du das Forum nur zum Lösen DEINER Probleme (Fragen stellen bedeuted i.A. eine Lösung zu verlangen) benutzt, ohne dass etwas in die Gegenrichtung "geflossen" ist...

LG aus Ö!
(Wo nicht Alles im sooo ernst ist...)
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Ich entschuldige mich ausdrücklich für meine mit etwas trockenem Humor gewürzte Bemerkung. Ich dachte, die Kennzeichnung mit dem :D würde genügend andeuten, dass ich grad keine Lust hatte, das Problem ausführlich zu behandeln. Mehr wollte ich an jener Stelle eigentlich nicht andeuten.

Sorry wenn ich jemanden zu Nahe getreten bin. Ich werde mir diesen Ton abgewöhnen, damit keine weiteren Irritationen auftreten. Und ich bin auch niemanden böse, wegen irgendwelcher Responsen. Und damit sollte hier dann auch das Thema beendet werden - ok?

itari
 

TobiasM

Benutzer
Mitglied seit
07. Aug 2008
Beiträge
354
Punkte für Reaktionen
0
Punkte
0
Ich glaube auch das Itari recht hat: eine access Datenbank hat viele Handles gleichzeitig offen (Tabellen, Verknüpfungen und Indexdateien) diese werden im RAM "gehalten", daher ist genügend RAM Speicher notwendig.
ich habe (zugegeben schon einige Jahrte her) druchaus proffesionelle Acces Anwendungen erstellt (Konzept Frontend / Backend) und habe die Erfahrung gemacht, dass RAM für die Performance notwendig ist.

Ja vielleicht im RAM des Client, aus Sicht der DS ist die mdb nur eine Datei. Mehr RAM auf der DS bedeutet vielleicht ein bessere SAMBA Performance, aber da die Übertragunggeschwindigkeit die 100MBit schafft, sehe da keinen Mehrwert.
Aber man müsste genauer wissen, was das für ne Anwendung ist etc,pp.
Ist ein richtiges win32-Anwendung die auf eine MDB zugreift, oder ist es auch eine Access-Anwendung. Ehrlich sehe da aber erstmal den Hersteller in der Pflicht, weil ich denke nicht das der "Fehler" an der DS selbst begründet liegt.

Gruß
Tobias
 

crazynet24

Benutzer
Mitglied seit
11. Okt 2008
Beiträge
20
Punkte für Reaktionen
0
Punkte
1
I'm Sorry

Sorry, tut mir leid, aber nach leidiger Erfahrung, dass Einem zunehmend die Threats mit wirklich unnötigen Informationen versaut werden, ist mir etwas der Kragen geplatzt.
Also speziell an Dich, Itari: Meine ehrliche Wertschätzung Deiner Arbeit hier geht an Dich und mein Kommentar war nicht so gemeint.

TobiasM:
Es handelt sich um eine in VB entwickelte win32-Anwendung, genau diese http://www.gehr-gmbh.de/speditionssoftware_1.html.

Das Problem dürfte einerseits selbst im Konzept dieser mdb-Geschichte liegen. Wird die mdb-Datei auf eine Station selbst kopiert und mappt per Netzlaufwerk auf die eigene Platte geht es einigermaßen schnell, also alles auf dem selben Rechner. Die selbe Aktion dauert auf der zweiten Station drei mal so lange über Netzwerk auf Station 1. Andereseits: Liegt die mdb dann auf der DS, geht es 10 mal so langsam, was verwunderlich ist, denn auch sonst hat die DS ja im Fileserverbereich ordentliche Performance.


Gruss
 
Zuletzt bearbeitet:

TobiasM

Benutzer
Mitglied seit
07. Aug 2008
Beiträge
354
Punkte für Reaktionen
0
Punkte
0
habe leider keine Demo gefunden, das Thema besitzt auch für mich eine gewissen Wert, weil ich öfters mal mit Access arbeite. Aber bisher nicht mit Samba freigaben.
Gib der Hersteller an, ob Samba unterstützt wird?
Vielleicht finde ja die Muse, mal selber zu testen.

Gruß
Tobias
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat