Tuning poststresql max Verbindungen

Tuning poststresql max Verbindungen
Bei der Verwendung von PostgreSQL können Sie eine Instanz begegnen, in der die derzeit verfügbaren maximalen Verbindungen nicht ausreichen, um die gleichzeitigen Verbindungen zu Ihrem Datenbankserver zu verarbeiten. PostgreSQL hat standardmäßig 100 Verbindungen, was nicht ausreicht, wenn eine Anwendung mehr Verbindungen benötigt.

Wenn Sie zahlreiche gleichzeitige Verbindungen für Ihren Server haben und die Standardnummer überschreiten, werden Sie auf den „tödlichen Fehler: Zu viele Kunden schon.”Es ist jedoch möglich, Ihre Bedürfnisse zu erfüllen. Weiter lesen!

Überprüfen der verfügbaren maximalen Verbindungen in PostgreSQL

Wenn Sie vor einer Fehlermeldung konfrontiert sind, die Ihre Anwendung daran hindert, eingehende Verbindungen zu empfangen, ist die Lösung die Eigenschaft PostgreSQL Max Connections für Ihre Datenbank, die Eigenschaft für Ihre Datenbank zu stimmen. Sie können die Eigenschaft max_connections über die Befehlszeile oder die GUI einstellen. Wir werden in beide Richtungen abdecken, aber sehen wir zuerst, wie Sie die aktuell festgelegten Max_Connections und die Shared_Buffers überprüfen können.

Beachten Sie, dass das Einstellen der Eigenschaft max_connections für Ihre PostgreSQL -Datenbank die RAM -Nutzung beeinflusst. Daher sollten Sie es nur an eine angemessene Größe einstellen, um zu vermeiden, dass Sie Ihren RAM ablassen. Darüber hinaus werden andere Eigenschaften wie die Shared_Buffer betroffen, wenn Sie die max_connections einstellen. Es wird auch empfohlen, die Shared_Buffers beim Einstellen der max_connections anzupassen, um die Leistung der Anwendung zu verbessern.

Es gibt zwei Möglichkeiten, die max_connections und die Shared_Buffer zu überprüfen:

Über die Konfigurationsdatei

Der Speicherort für die PostgreSQL -Konfigurationsdatei hängt von der von Ihnen ausgeführten PostgreSQL -Version und dem von Ihnen verwendeten System ab. In unserem Fall werden die PostgreSQL -Datenbank auf Ubuntu ausgeführt. Somit können wir über das Terminal mit dem folgenden Befehl darauf zugreifen:

$ sudo -iu postgres

Wenn wir auf den Server zugreifen, führen Sie den folgenden Befehl aus, um den Pfad zur Konfigurationsdatei zu erhalten:

# Config_file anzeigen;

Sobald Sie den Pfad erhalten haben, öffnen Sie die Konfigurationsdatei mit einem Editor Ihrer Wahl. Hier öffnen wir es mit Nano wie folgt:

$ nano/etc/postgresql/14/main/postgresql.Conf

Scrollen Sie nach unten und finden Sie die max_connections in der Konfigurationsdatei. In unserem Fall können wir feststellen, dass die verfügbare Grenze die Standardgrenze von 100 Verbindungen ist.

Weiter unten in der Datei sind die Shared_Buffers auf 128 MB gesetzt.

Über den Befehl "max_connections anzeigen"

Öffnen Sie Ihre PostgreSQL -Datenbank in Ihrem Terminal und führen Sie die folgenden Befehle aus, um die derzeit festgelegten Werte max_connections und Shared_Buffer anzuzeigen:

# MAX_CONNEctions;
# show Shared_Buffer;

Wir erhalten immer noch die gleichen Werte wie beim Zugriff auf die Konfigurationsdatei in der vorherigen Methode.

Zwei Methoden zur Abstimmung der Postgresql Max -Verbindungen

Sie können den Wert max_connections in jeder Instanz anpassen, um Ihre Anforderungen zu erfüllen, vorausgesetzt, Sie überlasten die Datenbank nicht.

Es gibt zwei Ansätze zu nehmen. Zunächst können Sie den Befehl postgreSQL „Alter System“ verwenden, um einen neuen Wert für Ihre max_connections zuzuweisen. Trotzdem können Sie mit Admin -Berechtigungen auf die PostgreSQL -Konfigurationsdatei zugreifen und den Wert max_connections anpassen. Schauen Sie sich die folgenden Beispiele an:

Über den Befehl postgresql alter system

Öffnen Sie Ihre PostgreSQL -Datenbank in Ihrem Terminal. Wenn Sie auf den Server zugreifen, ändern Sie die max_connections und die Shared_Buffer mit der folgenden Syntax. Ersetzen Sie die Werte so, dass sie denjenigen für Ihre Präferenz entsprechen:

# SELTER SETTE MAX_CONNECTIONS = Größe der Konnektion;
# SELTER SETSE SET SHARED_BUFFERS = Größe der Puffer;

Für unser Beispiel setzen wir die max_connections = 250 und die Shared_Buffers = 180 MB.

Nachdem Sie die max_connections abgestimmt haben, müssen Sie den PostgreSQL -Datenbankserver neu starten, damit die Änderungen wirksam werden müssen. Hier starten wir den PostgreSQL -Dienst mit dem Befehl systemCtl neu.

$ sudo systemctl restart postgresql

Überprüfen Sie schnell, ob die neuen Max_Connections und die Shared_Buffer implementiert sind.

Über die PostgreSQL -Konfigurationsdatei

Sie können die max_connections direkt anpassen, indem Sie nach postgreSQL mit Administratorrechten zugreifen. Der Pfad zur Konfigurationsdatei entspricht dem, auf den Sie zuvor auf die derzeit festgelegten Max_Connections und Shared_Buffer gesetzt haben.

$ nano/etc/postgresql/14/main/postgresql.Conf

Wenn Sie die Datei öffnen, suchen Sie die max_connections und ändern Sie ihren Wert auf das neue Grenzwert, das Sie festlegen möchten.

Greifen Sie jedoch auf die Shared_Buffer zu und ändern Sie die Grenze auf Ihren bevorzugten, abhängig von der Systemressource, die Sie für Ihren Fall haben.

Speichern Sie die Änderungen und beenden Sie den Datei -Editor. Sie müssen dann den PostgreSQL -Datenbankserver neu starten, damit die Änderungen wirksam werden müssen.

Damit haben Sie die PostgreSQL max_connections -Eigenschaft erfolgreich auf Ihrem Server angepasst. Daher beseitigen Sie den Fehler, dem Sie früher gegenüberstand.

Abschluss

Mit PostgreSQL können Sie die max_connections anpassen, um gleichzeitiger Verbindungen zur Datenbank zu ermöglichen. Das Einstellen der Postgresql Max -Verbindungen kann auf zwei Arten durchgeführt werden. Sie können auf die Konfigurationsdatei zugreifen und den Wert max_connections manuell bearbeiten. Alternativ können Sie das Terminal mit dem Befehl „Systeme System System“ verwenden und den neuen Wert max_connections festlegen. Dieser Leitfaden präsentierte beide Methoden. Probiere sie aus!