Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   PageBuffers werden nicht richtig angewendet (https://www.delphipraxis.net/185800-pagebuffers-werden-nicht-richtig-angewendet.html)

hoika 7. Jul 2015 12:03

Datenbank: Firebird • Version: 2.5 • Zugriff über: egal

PageBuffers werden nicht richtig angewendet
 
Hallo,



Per gfix -buffers kann ich ja den Page-Cache einer DB erhöhen,
siehe auch hier:
http://www.firebirdsql.org/manual/gfix-buffers.html

Ich habe jetzt eine DB mit einer Page-Size von 1024, also 1kB.
Ich setzte jetzt die Buffers auf 8192 Seiten.
Jetzt sollte der FB-Server (Superserver) sich maximal 8 MB gönnen,
weil genau nur eine einzige Verbindung hergestellt ist.


Tut er aber nicht ...

Ich habe einen Client, also noch ~ 250 kB für die eine Verbindung.
Der DB-Server ist aber lauf Taskmanager bereits auf 14 MB angestiegen.

Was mache ich falsch?

Danke


Heiko

Union 7. Jul 2015 13:55

AW: PageBuffers werden nicht richtig angewendet
 
Hast Du evtl. mehrere Datenbanken die unter dem Superserver laufen?

hoika 7. Jul 2015 15:46

AW: PageBuffers werden nicht richtig angewendet
 
Hallo,

weil genau nur eine einzige Verbindung hergestellt ist.
Ich habe FB auch mal neu gestartet, das gleiche.
Ich habe das Gefühl, dass das Query-Sort im Speicher erfolgt, und dafür der Ram benutzt wird.

Während einer aufwendigen Aktion geht der Speicher hoch über 8 MB, danach wieder runter unter 8 MB.


Heiko

hoika 12. Jul 2015 09:46

AW: PageBuffers werden nicht richtig angewendet
 
ich mach mal vorsichtig *Push*

Heiko

Perlsau 12. Jul 2015 20:38

AW: PageBuffers werden nicht richtig angewendet
 
Wo sonst außer im Speicher sollte denn das Sortieren einer Query-Ergebnismenge deiner Meinung nach stattfinden?

hoika 12. Jul 2015 21:28

AW: PageBuffers werden nicht richtig angewendet
 
Hallo,
auf der Festplatte. Dazu gibt es ja das einstellbare Temp-Verzeichnis
in der Firebird.conf.

Ich versuche zu berechnen, wie groß ich die PageSize für einen Kunden setzen kann.

Hier ein interessanter Link
http://www.josh-hartmann.com/incompe...eveloper-woes/


Heiko

Perlsau 12. Jul 2015 21:34

AW: PageBuffers werden nicht richtig angewendet
 
Auf der Festplatte? Das würde bei einer großen Ergebnismenge ja ewig dauern bei den Zugriffszeiten!

Wenn du ein Select-Query mit einem Order-Befehl absetzt und der eine Ergebnismenge zurückliefert, die sortiert werden muß, dann geschieht das immer im Speicher, ob das jetzt das DBMS macht oder deine Query oder dein Dataset.

Vermutlich geht's in diesem Link um irgend einen Cashe, der mit Sicherheit im Speicher vorbereitet wird, bevor er auf die Platte kommt. Aber sorry, ich hab jetzt keine Zeit, den Text in diesem Link zu lesen und zu übersetzen, stehe etwas unter Termindruck.

hoika 12. Jul 2015 22:20

AW: PageBuffers werden nicht richtig angewendet
 
Hallo,
kein Problem. :)

Ich muss mir das auch erst mal genau durchlesen.
Im Moment bin ich genau so ein Developer wie beschrieben :)

Heiko

p80286 12. Jul 2015 22:47

AW: PageBuffers werden nicht richtig angewendet
 
Naja externe Sortierverfahren sind ja nicht ganz neu, allerdings finden die Vergleiche immer noch im Hauptspeicher statt, und um eine möglichst hohe Performance zu erreichen sollte möglichst viel Hauptspeicher genutzt werden.

Gruß
K-H

hoika 13. Jul 2015 05:23

AW: PageBuffers werden nicht richtig angewendet
 
Hallo,
stimmt bei FB nicht ganz.
Bei großen ResultSets wird das Ergebnis im Temp abgelegt.

Ich sollte also am besten ein bisschen RAM übrig lassen
bei meiner Berechnung der besten PageSize.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz