PDA

Vollständige Version anzeigen : Ressourcen Sparen mit Access ??


RWg
29.12.2001, 21:39
Da ich - eigentlich ständig - mehrere Access-DBs auf dem PC laufen habe (man muß ja keine eierlegenden Wollmilchsäue programmieren und hat deswegen für verschiedene Zwecke verschiedene DBs), würde ich ja gern den Ressourcenverbrauch optimieren (mehrere DBs machen sich ja schon in der Rechenleistung bemerkbar).

Gibt's dafür - abgesehen von optimaler Normalisierung (selbstverständlich) - ein paar allgemeine Tips ?

Goki
31.12.2001, 11:44
Hallo RWg,

also mit der Jet-Engine, die den Datenbankkern von Access darstellt Ressourcen zu sparen wird es schwer. <img src="graemlins/lachen2.gif" border="0" alt="[mehr lachen]" /> Die Access-Engine ist darauf ausgelegt immer die CPU zu 100 % auszulasten um damit für Anfragen immer sofort verfügbar zu sein.

Also mir selbst fällt nix ein ... aussesr auf eine andere Datenbank umzusteigen, wenn du mehrere laufen hast ... evt. einen MS-SQL-Server einrichten oder auf Linux/Unix mit IMS-Systemen umsteigen oder mySQL nutzen. Diese Systeme lasten die Rechner nicht so aus wie Access.

slg
Goki

Sascha Trowitzsch
31.12.2001, 11:59
@ Goki:
Wieso lastet die Jet-Engine die CPU zu 100% aus?
Wenn nix passiert, dann sind es 0%, jedenfalls bei mir (W2000).

@RWg:
Es verhält sich mit Access nicht viel anders, als mit anderen Programmen auch: Ist erstmal eine Instanz gestartet, benötigen weitere nicht mehr sehr viel Speicher. Die ganzen DLLs werden geteilt.
Was jeweils neu angelegt wird, ist ein Workspace. Wieviel Ressourcen das benötigt, hängt von der DB ab.
Die Geschwindigkeit bei parallelen Vorgängen nimmt natürlich wegen der größeren Anzahl von Threads natürlich etwas ab, aber das ist auch schon bei einer einzigen Instanz von Access so, die standardmäßig 5 (Multi)Threads einstellt.

Summa summarum: Ich denke, es ist relativ egal, ob man eine DB-Instanz laufen lässt, oder mehrere.

Ciao, Sascha

PS: Jetzt muss man ja richtig aufpassen, was man schreibt, mit der neuen Bewertungsfunktion ;)

Goki
31.12.2001, 12:22
Hi Sascha,

also ich hab auch w2000 und hab den Task-Manager im Hintergrund immer mitlaufen. Wenn Access im Task aktiviert ist lastet die Jet-Engine die CPU zu 100 % aus und läßt dem Leerlaufprozess immer noch gnädigerweise 2 % ... hin und wieder ...

Wenn Access nicht genutzt wird gibt es eine Timeout-Zeit von ca. 20 bis 30 Sekunden bis die Jet-Engine in den "Ruhezustand" geht. Aber nur dann hab ich bisher erlebt, daß Access 0-%-lastig ist.

Wird aber Access wieder im Task aktiviert wird die CPU wieder ausgelastet ...

Hast du ne andere Konfig als ich!? Wär´ interessant, wenn das bei dir anderst laufen würde.

slg
Goki <img src="graemlins/santabgrin.gif" border="0" alt="[Santa Grins]" />

P.S. Ich hab keine Angst die Wahrheit zu sagen und wer mich bewerten will soll das auch tun, aber dann bitte Objektiv und auf den Sachverhalt bezogen und nicht nach Sym-/Antipathie.

Goki
31.12.2001, 12:34
Hallo Ihr zwei ...

also eines hab ich gerade festgestellt ...

AC97 lastet die CPU immer voll aus (das nutze ich [noch])

AC00 ... so wie Sascha es gesagt hat *g

<img src="graemlins/lachen2.gif" border="0" alt="[mehr lachen]" /> <img src="graemlins/top.gif" border="0" alt="[Finger hoch]" /> <img src="graemlins/lachen2.gif" border="0" alt="[mehr lachen]" />

slg
Goki <img src="graemlins/santabgrin.gif" border="0" alt="[Santa Grins]" />

Sascha Trowitzsch
31.12.2001, 12:41
Bei mir ist das nicht so wie bei dir ... bei A2000, wohlgemerkt.
Ich glaube mich aber zu erinnern, dass sich A97 da anders verhält.
Aber 98% ??? Dass würde ja jede andere App total blockieren.

Was RWgs Frage angeht, wäre es dann allerdings auch egal, ob eine Instanz 98% nimmt und weitere sich bei Aktivierung ebenfalls. Oder?

Ciao, Sascha

PS: Da hab ich cross-gepostet, Goki. Da ich A97 nur auf einem Rechner mit W98 hab: Könntest du vielleicht noch mitteilen, wie sich die Prozessorleistung verteilt, wenn zwei Instanzen (DBs) von A97 aktiv sind (also rechnen; teste vielleicht mal eine Loop mit Recordset-Abfrage) ?

[ 31. Dezember 2001: Beitrag editiert von: Sascha Trowitzsch ]</p>

RWg
02.01.2002, 12:08
Hi Goki, hi Sascha,

merci für die Antworten.
Tja ein Update auf A2000 wird's bei mir wohl nicht geben. Aber da mehrere DBs in diesem Jahr auf Websites funktionieren sollen, ist der Umstieg auf mySQL sowieso absehbar.
Ein Motiv mehr "Ciao Access" zu sagen.

Sascha Trowitzsch
02.01.2002, 13:06
@RWg:
Und wie steuerst du dann MySQL an? Mit PHP?

MySQL kann man prima mit Access verknüpfen. Über MyODBC kannst du die DB auf dem INet-Server (fast) verwalten wie auf dem lokalen Rechner.
Dazu muss es auch nicht A2000 sein.

Du wirst uns doch nicht verloren gehen? ;)

Ciao, Sascha

RWg
02.01.2002, 14:28
Hi Sascha,

<i> Und wie steuerst du dann MySQL an? Mit PHP?</i>
War so geplant.

<i>MySQL kann man prima mit Access verknüpfen. Über MyODBC kannst du die DB auf dem INet-Server (fast) verwalten wie auf dem lokalen Rechner. Dazu muss es auch nicht A2000 sein.</i>
Aber - wie auch bei ASP - ein microsoftiger Server, oder ?

<i>Du wirst uns doch nicht verloren gehen?</i>
a) dauern Umstiege immer länger als geplant
b) hängt das davon ab, wie flüssig ich mit PHP / MySQL die selben Anforderungen wie mit A97 erfüllt bekomme
c) gibt es immer Umgebungen, auf denen kein PHP/MySQL läuft, aber A97 / eine Office- Version
d) ganz von A97 weg, hieße meinerseits vorhandenes Wissen wegwerfen
ABER:
Diese ewigen und immer perverseren Kontroll- und Gängelungsversuche von Herrn Kleinweich - Windows XP - sowie diese ewig unstabilen Systeme von Microsoft führen mich immer mehr in Versuchung, zu LINUX und kompatiblem Office zu wechseln, was dann wohl auch einen Abschied von Access bedeutet ?!?

cu
Roland :top:

Sascha Trowitzsch
02.01.2002, 16:16
"Aber - wie auch bei ASP - ein microsoftiger
Server, oder ?"

- Dann reden wir aneinander vorbei. Du kannst die MySQL-Datenbank von deinem MS-PC aus über Access administrieren. Über Passthrough kannst du nicht nur die Inhalte bearbeiten, sondern auch DDL-Statements senden, um neue Tabellen zu erstellen, zu verändern etc.

Ich habe bei einem Kunden eine MySQL-DB auf dem Linux-Server und die Frontends sind Access2k. Prima Sache.

"... diese ewig unstabilen Systeme von Microsoft
führen mich immer mehr in Versuchung, zu
LINUX und kompatiblem Office zu wechseln "

Also sooo unstabil find ich MS auch wieder nicht. Ich würde sagen, wenn du bei LINUX genausoviel rumbastelst, rekompiliertst, wie viele das bei ihren MS-Installationen tun (updaten, deinstallieren, installieren, wieder updaten). dann wird es ähnlich instabil.

Aber: Check it out!

Ciao, Sascha

RWg
02.01.2002, 18:05
Yep - jetzt verstanden
(Trennung zwischen Frontend und Backend praktiziere ich sowieso fast immer, um Netzwerkproblemen vorzubeugen).

Gruß
Roland :top:

erwin
02.01.2002, 22:04
@goki + RWg

bzgl. der (nicht ganz echten) 100% Auslastung in A97 siehe

<a href="http://support.microsoft.com/support/kb/articles/Q160/8/19.asp" target="_blank">http://support.microsoft.com/support/kb/articles/Q160/8/19.asp</a>

so long erwin...