Fühlst sich Ihre PostgreSQL Datenbank irgendwie langsam an? Sehen Sie hohe Latenzzeiten oder langsame Abfragen? Vielleicht beschweren sich Kunden bereits über schlechte Datenbankperformance? Wenn das passiert, ist es höchste Zeit, etwas dagegen zu unternehmen.

PostgreSQL Storage und Filesystem Tuning

Gute Storage Performance ist in der Regel der Schlüssel zu guter Datenbank Performance. Aber Ihr Storage System ist nicht die einzige relevante Komponente: Die Wahl des richtigen Filesystems oder des richtigen RAID Levels sind ebenfalls von zentraler Bedeutung und können große Auswirkungen aus den Durchsatz haben.
Wir helfen beim Tunen Ihres I/O System und optimieren Ihr gesamtes System (Dateisystem, RAID, etc.) nach Ihren Vorstellungen.

Ist es sinnvoll, mehr Disken zu kaufen?

Unser PostgreSQL Support Team kann solche Fragen beantworten – mit unserer Hilfe vermeiden Sie den Kauf von unnötiger und teurer Hardware. PostgreSQL liefert jede Menge statistische Information, um intelligent zu entscheiden, ob neue oder bessere Hardware wirklich nötig ist. Vermeiden Sie daher unnötige Ausgaben und fragen Sie lieber unsere PostgreSQL Experten. Ein Profi kann in kurzer Zeit einen Engpass aufspüren und Gegenmaßnahmen einleiten.

PostgreSQL performance tuning chart

PostgreSQL Speicherparameter tunen

Fragen Sie sich, welche Einstellungen man in postgresql.conf vornehmen sollte, um die maximale Performance aus dem System zu holen? Machen Sie sich keine Sorgen – wir kümmern uns um die ideale Konfiguration Ihrer Serverlandschaft. Wenn es darum geht, Speicherparameter zu tunen, sollte man sich mit den folgenden Einstellungen beschäftigen:

PostgreSQL Performance Tuning

 

  • shared_buffers: Der PostgreSQL I/O cache
  • work_mem: Beschleunigt das Sortieren und Gruppieren, etc.
  • maintenance_work_mem: Beschleunigt administrative Tasks wie CREATE INDEX, VACUUM, etc.
  • temp_buffers: Beschleunigt temporäre Tabellen
  • effective_cache_size: Sagt dem Optimizer, wieviel RAM generell im Server für PostgreSQL verwendet wird.
  • wal_buffers: Beschleunigt das Schreibens ins Transaction Log (WAL)

Speicherparameter zu tunen macht Sinn und beschleunigt Ihr PostgreSQL Setup. Kunden haben teils unglaubliche Performance Schübe gemeldet und die User Experience dramatisch verbessert.

VACUUM und autovacuum tunen

Der Zweck von VACUUM ist es, tote Zeilen aus Ihren Tabellen und Indexes zu entfernen. Eine gute VACUUM Policy schützt Ihr System vor Speicherverschwendung und verbessert die Performance signifikant. In einem OLTP System ist gute Datenbankperformance ohne eine solide Konfiguration von autovacuum de facto nur sehr schwer zu erreichen.
Die richtigen Einstellungen für autovacuum zu finden, ist nicht einfach und bedarf ein wenig Expertise. Administratoren müssen sicherstellen, dass autovacuum genug Worker Prozesse zur Verfügung hat aber trotzdem Ihr I/O System nur in Maßen beansprucht, um laufenden Abfragen nicht im Weg zu stehen.

Autovacuum hilft bei der Bereinigung von PostgreSQL Data Files.

Das Cybertec PostgreSQL Team unterstützt Sie bei der optimalen Konfiguration von VACUUM und findet für Sie das optimale Setup.

PostgreSQL Performance Tuning table partitioning

PostgreSQL: Tabellen schlau partitionieren

Wenn Tabellen über eine bestimmte Größe wachsen, kann es Sinn machen, über Partitionierung nachzudenken. Wann man beginnen sollte, eine Tabelle zu teilen, hängt ein wenig von der Workload ab. Generell gilt aber, dass es in den allermeisten Fällen erst ab 50 – 100 Millionen Zeilen Sinn macht, so etwas in Erwägung zu ziehen.
Mit der Einführung von PostgreSQL 10.0 hat auch natives Partitioning Einzug in den PostgreSQL Core gefunden. Der Vorteil dieser neuen Methode ist, dass weniger oder gar keine externen Tools mehr verwendet werden müssen.
In PostgreSQL 10.0 stehen die folgenden Features zur Verfügung:

  • Range-Partitioning
  • List-Partitioning

In zukünftigen Versionen wird es auch Hash-Partitioning geben.

Die neue Syntax in PostgreSQL 10.0:

Die Idee hinter Partitionierung (oder Sharding) ist es, Daten in kleinere Chunks aufzuteilen und so mehr Performance zu gewinnen. Dabei ergeben sich einige wichtige Frage, bei denen unsere Mitarbeiter gerne helfen:

  • Wann soll eine Tabelle partitioniert sein?
  • Wie soll eine Tabelle aufgeteilt / gesharded werden?
  • Was sind die Vorteile?
  • Was sind die Nachteile?

Was auch immer nötig ist, um Ihr System zu beschleunigen – wir kümmern uns darum und helfen bei der Implementierung einer passenden und effizienten Lösung.

Kontaktieren Sie uns

Langsame Abfragen finden und beschleunigen

Die Datenbank ist langsam – können Sie uns helfen?

Die meisten PostgreSQL Consultants haben diese Frage schon mal gehört. Glücklicherweise hat PostgreSQL ausreichend onboard Mittel, um langsame Abfragen zu erkennen und dem Administrator auf mögliche Probleme hinzuweisen.

Wenn Sie den Performance Engpass noch nicht gefunden haben, ist das kein Problem. Wir helfen gerne dabei und beraten Sie bei der Optimierung Ihres Systems. Cybertec stellt auch ein Tool namens pgwatch2 zur Verfügung, das speziell für die Analyse von Produktivsystemen geschaffen ist. Es sammelt automatisch Daten von Produktivsystemen ein und legt die Daten zentral in einer eigenen Zeitreihendatenbank ab. Entwickler, Administratoren und Consultants sollten so in der Lage sein, Probleme schnell zu erkennen und zu lösen.

Breaking database performance barriers

Fehlende Indexes nachbessern

Fehlende Indexes sind der Hauptgrund für schlechte Performance. Ein einzelner fehlender Index kann bereits massive Auswirkung auf die Performance Ihrer PostgreSQL Datenbank haben und den Dauerbetrieb massiv einschränken.

Wir helfen bei der Optimierung Ihrer Indexes.

Wenn Ihre PostgreSQL Datenbank langsam ist oder Benutzer sich bereits über die Datenbank Performance beschweren, ist es Zeit zu prüfen, ob Indexes fehlen oder nicht. Unser Support Team wird Ihr System inspizieren und auf Optimierungspotential hinweisen. Lassen Sie sich von unseren PostgreSQL Profis beraten und erreichen Sie mehr Performance bei geringeren Kosten.

Langsame Abfragen umschreiben und optimieren

Wenn Storage Optimierung, Indizierung und postgresql.conf Parameter nicht ausreichen, ist es oft nötig, Abfragen optimiert neu zu schreiben. Bei vielen Abfragen macht oft schon kleine Verbesserungen einen großen Unterschied und beschleunigen eine Abfrage signifikant (ein Beispiel findet sich in unserem Blog (here is an example of such a change: http://www.cybertec-postgresql.com/func-hidden-performance-issues). Das Umschreiben einer Abfragen bedarf einer gewissen Expertise und es macht daher Sinn, für solche Zwecke einen unserer Experten heran zu ziehen und sich professionellen Support und Unterstützung zu holen.

Professionelle Hilfe

Kontaktieren Sie uns noch heute und erhalten Sie Ihr persönliches Angebot von Cybertec. Wir bieten ein schnelles und professionelles Service und über 17 Jahre PostgreSQL Erfahrung.

Kontaktieren Sie uns!