Gemeinsamer Puffer in Postgres

8

Ich bin neugierig auf die Rolle, die der geteilte Puffer in Postgres spielt. Shared Buffer verwaltet alle zuletzt aufgerufenen Festplattenseiten und fehlerhaften Seiten. Wenn eine neue Seite eingefügt werden muss und im gemeinsam genutzten Puffer kein Speicherplatz mehr vorhanden ist, wird eine beschädigte Seite eines Opfers auf den Datenträger zurückgeschrieben.

Allerdings bin ich verwirrt über diese Aussage- PostgreSQL hängt vom Betriebssystem zum Zwischenspeichern ab. (http://www.varlena.com/GeneralBits/Tidbits/perf.html#shbuf) "

Wie hängt Postgres vom Betriebssystem für das Zwischenspeichern ab? Und wie ändert es das Verhalten des geteilten Puffers?

    
pree 30.05.2011, 11:23
quelle

2 Antworten

7

Postgresql verwendet den Betriebssystemcache und seinen eigenen Datencache. Die beiden sind entsprechend Ihrer Datenbanknutzung nützlich.

OS-Cache ist sehr schnell, aber einfach: Er entfernt ältere Daten mit der neuen. Es ist nützlich für sehr vielseitige Abfrageergebnisse. Der PG-Cache ist langsamer (immer noch viel schneller als die Festplatte), aber er verwendet Nutzungszähler der am häufigsten verwendeten Daten. Nützlich für wiederkehrende Ergebnisse / Index.

    
Guillaume Savary 15.10.2012 12:23
quelle
5

Ich denke dieser Link ist übersichtlicher (und aktueller).

Meines Wissens ist es so, dass PostgreSQL-Prozesse funktionieren und Informationen teilen, aber ab einer gewissen Grenze (15% bis 25% des Server-RAM) ist es interessanter, mehr RAM dem Betriebssystem zu überlassen, um Caching selbst durchzuführen .

    
Mathias Brossard 21.06.2011 13:44
quelle

Tags und Links