7

Ich habe gerade meine Heroku-Postgres-Datenbank vom Kappa-Plan (800 MB RAM, Postgres 9.1) auf den Ronin-Plan (1,7 GB RAM, Postgre 9,2) aktualisiert, aber die Leistung hat sich verschlechtert.Cache-Hit-Ratio für niedrige Postgräte - Datengröße oder etwas anderes?

Nach der Anleitung here habe ich überprüft und die Cache-Trefferquote ist noch niedriger als bei unserer Kappa-Datenbank (jetzt ~ 57%, vorher ~ 69%). Unser App-Design sollte in Ordnung sein, da wir eine Cache-Trefferrate von ~ 99% vorher gesehen haben.

Die Empfehlung ist, dass der Datensatz in den Speicher passen sollte, was jetzt kein Problem mehr sein sollte - unsere Datengröße beträgt 1.27GB (zumindest sollte die meisten davon passen).

Ist die Cache-Hit-Rate aufgrund der Datengröße niedrig oder gibt es noch etwas, das ich untersuchen kann? Oder ist es einfach ein Fall, in dem der Datenbank-Cache nicht vollständig aufgewärmt ist? (es war fast 2 Tage)

+1

Was ist der alte und aktuelle Wert von * effective_cache_size *? Und * work_mem *? – Beryllium

+3

Auch: Sind Ihre Statistiken aktuell? (Haben Sie 'VACUUM ANALYZE' nach dem Import/Konvertierung ausgeführt?) – wildplasser

+0

@Beryllium effective_cache_size 900000kB/1170000kB, work_mem 50MB/10MB (vorher/nachher) – Daniel

Antwort

3

Wenn Sie viel Speicher haben und nicht viel mehr auf der db laufen, eine Sache, die sich ändern kann, ist die shared_buffers. Bei den gemeinsam genutzten Puffern werden häufig verwendete Daten zwischengespeichert, so dass sie maximiert werden, wenn nicht die gesamte Datenbank in den Speicher passt.

Leider funktioniert dieser Cache nicht so gut wie er OS-Cache. Wenn Sie Ihre Daten einfach in den Speicher passen, stellen Sie sicher, dass effective_cache_size hoch genug ist, und dann versuchen, shared_buffers

Hinweis zu reduzieren, dass dies kein Allheilmittel. Die geeignete Größe von shared_buffers hängt davon ab, wie viele Daten Sie haben, wie viel Speicherplatz belegt ist, Ihre Arten von Abfragen, wie viel Speicher für Dinge wie Sortieren und Ähnliches verwendet wird. Sie können damit rechnen, von Zeit zu Zeit damit herumzuspielen, um den optimalen Platz für Ihr aktuelles Setup und Ihre Datenbank zu finden.

Verwandte Themen