PDA

Vollständige Version anzeigen : ACC 2000 im NT Netzwerk schlechte Performance


Uwe Michehl
20.06.2001, 14:54
Hallo,

ich habe ein Problem mit einer ACC2000 DB im NT Netzwerk.

ACC2000 ist lokal auf insg. 7 NT4.0WS installiert, diese sollen die Datenbank aufrufen, die auf dem NT Server 4.0 liegt.

Solange nur ein User auf die DB zugreift, ist die Geschwindigkeit gut. Greift aber ein weiterer User zu, geht die Performance in den Keller !

Ich selbst habe keine Ahnung von Access, sondern habe mich nur um das Netz zu kümmern. Dieses läuft meiner Meinung nach gut, da es nur bei dieser Access DB Probleme gibt.

Die DB war ursprünglich mal für Access 2.0 gemacht, und der Mitarbeiter hat diese konvertiert und möchte sie halt nun auf den NT Maschinen im Netz betreiben.

Kann mir jemand helfen ?

Gruß

Uwe Michehl

A.S.
21.06.2001, 05:33
Hallo Uwe,

Prüf doch einmal ob der Mitarbeiter so klug war die DB in Front- und Backend aufzuteilen. Im Backend liegen nur die Datentabellen, alles andere ist im Frontend. Dieser sollte eigentlich auf der jeweiligen WS liegen und die Tabellen über Verknüpfungen aus dem Backend beziehen. Ist das nicht gegeben, werden auch die Formulare etc. aus der Gesamt-DB im Netzwerk gezogen, was natürlich zu entsprechend größeren Belastungen für Acc und die DB führt.

Gruß

Arno

Uwe Michehl
21.06.2001, 08:30
Hallo Arno,

der MA hatte das tatsächlich aufgeteilt. Doch damit läuft die Sache langsamer als wenn er alles auf den Server packt ?!

Es ist auch so, das wenn man die Tabellen oder Listen von der WS aus direkt auf dem Server aufruft, also ohne Abfragemasken etc, dann geht das super schnell, und es können auch mehrere gleichzeitig. Ruft man die Listen über die Eingabemaske auf, dann dauert es ewig?

Kann es sein, das seine von AC2.0 konvertierten Makros etc. vielleicht nicht so gut laufen unter Acc2000?

Gruß
Uwe

A.S.
21.06.2001, 08:39
Hallo Uwe,

kann ich Dir nicht sagen, da keine Erfahrungswerte mit dem Upgrade einer DB auf A00.

Generell ist es jedoch so, das A00 auf eine neue Zugriffstechnologie von MS IMHO optimiert wurde. Diese nennt sich ADO. Bis inclusive A97 war DAO das genutzte. Ich weiß nicht wie optimal die Umsetzung von A2.0 nah A00 läuft und ob in dieser Hinsicht die Datenzugriffe auf ADO umgestellt werden oder auf DAO bleiben. Ggf. sollte der Mitarbeiter die DB nocmal in Richtung ADO überarbeiten.

------------------
HTH

Arno

Daniello
21.06.2001, 10:09
Uwe,

Probier einmal unter Extras --> Optionen --> Weitere die Checkbox "DB mit Sperrung auf Datensatzebene öffnen" zu deaktivieren.
Das hat bei meinen Datenbanken extreme Performanceprobleme gebracht (NT4 mit Multiuser)

A.S.
21.06.2001, 10:30
Hallo Daniel,

auch 'ne Idee. Wie sicherst Du ab das nicht mehrere Benutzer gleichzeitig denselben DS ändern?

Gruß

Arno

Daniello
21.06.2001, 11:13
Habe Arno ein E-Mail geschickt. Wenn es passt, soll er es als Lösung reinschreiben.

Daniel

daCrazyDoc
21.06.2001, 11:54
Ehrlich gesagt gibts da für mich ohnedies nur eine Lösung:

Access in Multiuser Umgebung im Netz ist eine lahme Schnecke; daher besorge Dir Oracele, portiere die eigentliche DB in Oracle (geht weitgehend automatisch) und greife über das Access-Frontend per ODBC auf die Oracle DB zu. Alles in Allem ein relativ geringer Aufwand, der sich aber lohnt.

Neben der Top-Performance hast Du so auch die bessere Datensicherheit von Oracle.

Ist IMHO die einzig sinnvolle Möglichkeit, Access sauber und performant im Netz zu betreiben.

Daniello
21.06.2001, 12:00
Hast recht.

Geht auch über SQL-Server.

Access ist ist zwar easy-to-handle aber man erreicht seine Grenzen schnell.

A.S.
21.06.2001, 12:07
Hallo,

@ Daniel,

Du kannst Deine Lösungen ruhig hier hinein stellen ;) Ich habe nichts dagegen auch öffentlich ein wenig dazu zu lernen :)

Meine Multi-User-DBen die ich bislang geschrieben habe laufen zwar in einem relativ großen NT-4-LAN (ca. 600 User) allerdings nur in kleinen Arbeitsgruppen bis max. 5 User. Von dort habe ich, bislang, kein negatives Feedback erhalten. Von daher bin ich bislang immer davon ausgegangen, das es keine Probleme mit der Zugriffsgeschwindigkeit gibt. Werde aber einmal bei den Benutzern nachhorchen, wie das bei denen im einzelnen aussieht und dann ggf. ausprobieren ob die von Dir vorgeschlagene Änderung eine Besserung der Performance bringt.

@ Crazy Dog,

mag ja sein, das Oracle die absolute Spitze darstellen soll. Es ist nun aber einmal so das man auch Oracle nicht unbegrenzt Nutzen kann. Da spielen diverse Einschränkungen seitens des Herstellers, aber auch des Unternehmens in dem Mann arbeitet eine Rolle. Genannt seien nur einmal Lizenzkosten, Rechtevergaben (Serverzugriff!), Kosten/Nutzen-Analysen (eine DB für 3 - 5 Mitarbeiter die mäßig gebraucht wird, packt man nicht auf einen SQL-Server, in Excel od. WinWord ist's zu kompliziert und unübersichtlich), Serverkosten bei vorgeschriebenen Rechnerarchitekturen für Server etc., etc. .

Da bleibt es nicht aus, das auch in Unternehmen mit ca. 9.000 Beschäftigten C/S-Apps in Form von Acc-DBen mit FE/BE-Aufteilung gestaltet werden.

Gruß

Arno

Daniello
21.06.2001, 12:32
Hallo Arno,

Bin seit heute neu in dem Forum.

Ich arbeite, wie du aus meiner E-Mail Adresse ersehen hast, in einer Bank.
In der Domäne hängen ca. 4.000 Workstations, im gesamten Netzwerk ca. 15.000.

Ich gebe dir recht, bei einer gering gehaltenen Anzahl an Usern ist die Performance äusserst lecker, noch dazu, wenn man bedenkt, wie einfach eine Access-Lösung eigentlich zu realisieren ist und wie wenig sie im Gegensatz zu Client-Server Lösungen über diverse DB-Server kostet.
Man bedenke, dass sowohl Oracle als auch SQL-Server eine eigene Administration benötigen und die Rechte für Mitarbeiter meist sehr eingeschränkt sind.

Ich als nicht EDV-Mitarbeiter kann meine eigenen Access Lösungen machen. Will ich einmal mit SQL-Server arbeiten, falle ich in die Bürokratie unserer Dinosaurier-artigen EDV-Hierarchie und habe nach einem halben Jahr ungefähr die Rechte, die ich benötige, um meine DB-fertigzumachen.

Tja, soweit, so gut.

Ciao

A.S.
21.06.2001, 12:35
Ich als nicht EDV-Mitarbeiter kann meine eigenen Access Lösungen machen. Will ich einmal mit SQL-Server arbeiten, falle ich in die Bürokratie unserer Dinosaurier-artigen EDV-Hierarchie und habe nach einem halben Jahr ungefähr die Rechte, die ich benötige, um meine DB-fertigzumachen.

Hallo Daniel,

genau das ist neben den bereits erwähnten Punkten noch eines der Haupthindernisse: Die in großen Organisationen starre hierarchische Bürokratie. Gar wenn man mit OutSourcern zusammenarbeitet wird noch wesentlich mehr Papieraufwand getrieben.

Gruß

Arno

Dicker
21.06.2001, 12:59
Hallo

@Daniel
@ArnoSimon

Daniel hatte geschrieben:
"Habe Arno ein E-Mail geschickt. Wenn es passt, soll er es als Lösung reinschreiben"
Meine Fragen: 1.-passt es?
2.-wenn ja, stellt Ihr es noch ins Forum?

Daniello
21.06.2001, 13:01
Hallo Dicker,

Steht weiter oben schon drinnen (von arno).

Daniel

A.S.
21.06.2001, 13:02
Hallo "Dicker",

hier die Mail von Daniel:

Arno,

Schau dir die Dokumentation bezüglich Datensatzsperrung genau an.

Wenn du nicht auf Datensatzebene sperrst (gibt es erst seit Access 2000), aber der Standard bei Datensatzsperrung "Bearbeiteter Datensatz" ist, sperrt Access in Wirklichkeit nicht nur einen Datensatz sondern eine "Datenseite", die, wie ich noch weiss aus 1024 oder 2048 Zeichen besteht.
Da nicht jeder Datensatz so viele Zeichen hat, sperrt Access eventuell auch noch andere Datensätze.

Wenn der Standard ist "Keine Sperrungen", wirft Access im Falle einer gleichzeitigen Datensatzbearbeitung bei dem jeweiligen User eine Meldung aus, ob die eigene oder die andere Änderung angenommen werden soll.

Wenn der Standard "Keine Sperrungen" ist, kann man immer noch in jedem einzelnen Bearbeitungsformular selbst einstellen, wie die Datensatzsperrung ablaufen soll.

Viel Glück

Daniel

------------------
HTH

Arno

Uwe Michehl
21.06.2001, 18:42
Hallo zusammen.

Wir haben den Hauptgrund für die schlechte Performance gefunden. Es war ein defekter Switch. Ausgerechnet der neue Switch für diese Gruppe User.
Momentan steckt da jetzt ein Hub als Übergang, und es läuft damit um einiges besser. Zwar noch nicht optimal, aber....
Ich werde jetzt mal rangehen und eure Tipps ausprobieren.

Danke
Uwe

erwin
17.01.2002, 11:02
@daCrazyDoc bzgl. Port. auf Oracle

es stimmt schon, dass Ora. performant, stabil + gut skalierbar ist - ABER es ist wirklich Unsinn, dass das, was durch einen automatischen Upgrade des BE's auf Oracle erreicht wird, dann wirklich über die per ODBC eingeb. Tab. schneller im FE läuft. Dazu ist das Thema doch etwas zu komplex - im Gegenteil jede "durchschnittliche" MDB wird durch diese Art von "Upgrade" idR. langsamer.

Bzgl. einiger Aspekte zur MSSQL-Server/ODBC/Access siehe zB. <a href="http://www.microsoft.com/germany/ms/msdnbiblio/artikel/odbc.htm" target="_blank">http://www.microsoft.com/germany/ms/msdnbiblio/artikel/odbc.htm</a>

so long erwin...

Sascha Trowitzsch
17.01.2002, 15:16
@erwin:

Stimme dir ja im Prinzip zu und habe an anderer Stelle das Gleiche auch schon mehrmals gesagt.
Aber:
Meine Erfahrungen bzw. Tests bestätigen das nicht. Fast jede Access-DB wird nach Portierung auf SQL doch(!) schneller, wenn auch nicht sehr erheblich.
Ich denke, es liegt zum einem an Access' Locking, das dann wegfällt und das di Performance u.U. schon bremst und zum anderen an den Ausführungen, die in deinem Link darselbst aufgeführt werden:
Dass Access erstaunlicherweise etliche (eher einfachere) Abfragen automatisch als SQL an den Server schickt und nicht lokal berechnet.
Ich bin auch erst vor ein paar Monaten auf den Link gestossen und fand darin IMHO die Erklärung für die Performance-Steigerung.

Bloß: (und dies @daCrazyDoc) Ausgerechnet Oracle!
Ich weiß, das ist in Deutschland sehr beliebt (v.a. im öffentliche Dienst), aber als Access-Entwickler mag man noch mit MySQL und MSSQL klarkommen, mit Oracle aber nicht ohne erheblichen Lernaufwand.
Dazu gibt es Untersuchungen zur TOC, nach denen O. deutlich teurer wird, als MSSQL.

Ciao, Sascha

Benjamin
17.01.2002, 21:27
Hallo,

bitte um Vergebung, dass ich auch noch meinen unqualifizierten Senf dazugeben möchte - aber die ganze Oracle-Diskussion ist ja schön und gut, hilft aber glaube ich nicht direkt weiter...

Ohne in der Materie drin zu stecken, weiß ich, dass ab Access 2000 einige Routinen, speziell in Suchfunktionen, deutlich langsamer laufen als in A 2.0 oder A 95. Wie man dem abhelfen kann, ist zumindest in einigen Fällen in der Hilfe beschrieben. Also würde ich vorschlagen, den Code der langsamen Parts einmal zu untersuchen, und unter dem jeweiligen Stichwort in der Hilfe nachzuschauen.

Gruß
Benjamin

immelmann
18.01.2002, 08:42
Hallo,
meine DB leidet auch unter Performanceproblemen im NT-Netz, wenn sich mehr als 3 User anmelden. Das BE ist 42MB und das FE ist 12MB groß.

Gibt es undokumentierte Schalter oder Optionen, bzw. Richtlinien für eine Optimierung. Die aus der Hilfe sind zum größtenteil berücksichtigt worden.

Danke für weitere Anregungen.
Gruß Torsten