Der Standardwert für den Serverparameter max_wal_senders, der festgelegt wird, wenn Sie die Instanz von Azure Database for PostgreSQL – Flexible Server bereitstellen, darf niemals den Wert 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication unterschreiten.
Berücksichtigen Sie bei der Notwendigkeit, max_wal_senders auf einen viel höheren Wert zu erhöhen, um mit der logischen Replikation einer erheblichen Anzahl von Tabellen umgehen zu können, die folgenden wichtigen Punkte:
Das logische Replizieren einer großen Anzahl von Tabellen erfordert nicht unbedingt eine große Anzahl von WAL-Absendern.
Der einzige Grund, warum Sie separate WAL-Absender pro Tabelle oder Gruppe von Tabellen benötigen, ist, wenn Sie separate Abonnements für jede dieser Tabellen oder Gruppen benötigen.
Unabhängig davon, wie viele WAL-Absender für die physische und logische Replikation verwendet werden, werden sie alle gleichzeitig aktiv, wenn ein Back-End etwas in das Write-Ahead-Protokoll schreibt. In diesem Fall werden die WAL-Absender, die der logischen Replikation zugewiesen sind, alle wie folgt reaktiviert:
Decodieren aller neuen Datensätze im WAL
Herausfiltern von irrelevanten Protokolldatensätzen
Replizieren der jeweils relevanten Daten
WAL-Absender ähneln Verbindungen in dem Sinne, dass, wenn sie im Leerlauf sind, es keine Rolle spielt, wie viele es gibt. Wenn sie jedoch aktiv sind, werden sie um die gleichen Ressourcen konkurrieren, und die Leistung könnte am Ende sehr schlecht sein. Dies gilt insbesondere für Absender mit logischer Replikation, da die logische Decodierung ziemlich CPU-intensiv ist. Jeder Worker muss den gesamten WAL decodieren, auch wenn er nur die Vorgänge repliziert, die sich auf eine einzelne Tabelle auswirken, und die einen winzigen Prozentsatz aller Daten im Write-Ahead-Protokoll darstellt. Bei der physischen Replikation ist es nicht so wichtig, da die WAL-Absender die CPU nicht so intensiv verbrauchen, und sie neigen dazu, zuerst an die Netzwerkbandbreite gebunden zu sein.
Daher ist es im Allgemeinen besser, nicht deutlich mehr WAL-Absender zu haben als V-Kerne.
Es empfiehlt sich, Platz für einige zusätzliche WAL-Absender hinzuzufügen, um auf zukünftiges Wachstum oder temporäre Spitzen in Replikationsverbindungen vorbereitet zu sein. Die folgenden beiden Beispiele sollen dies veranschaulichen.
Für einen Server mit 8 V-Kernen, deaktivierter Hochverfügbarkeit, 2 Lesereplikaten und 3 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (0) + physische Steckplätze für Lesereplikate (2) + logische Steckplätze (3) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (1) konfigurieren = 6.
Für einen Server mit 16 V-Kernen, aktivierter Hochverfügbarkeit, 4 Lesereplikaten und 5 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (2) + physische Steckplätze für Lesereplikate (4) + logische Steckplätze (5) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (2) konfigurieren = 13.
Wenn Sie dennoch finden, dass der für diesen Parameter zulässige Maximalwert für Ihre Anforderungen zu niedrig ist, wenden Sie sich an uns, beschreiben Sie Ihr Szenario ausführlich, und erläutern Sie, was Sie als den minimal akzeptablen Wert betrachten, den Sie benötigen, damit Ihr Szenario ordnungsgemäß ausgeführt werden kann.
Der Standardwert für den Serverparameter max_wal_senders, der festgelegt wird, wenn Sie die Instanz von Azure Database for PostgreSQL – Flexible Server bereitstellen, darf niemals den Wert 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication unterschreiten.
Berücksichtigen Sie bei der Notwendigkeit, max_wal_senders auf einen viel höheren Wert zu erhöhen, um mit der logischen Replikation einer erheblichen Anzahl von Tabellen umgehen zu können, die folgenden wichtigen Punkte:
Das logische Replizieren einer großen Anzahl von Tabellen erfordert nicht unbedingt eine große Anzahl von WAL-Absendern.
Der einzige Grund, warum Sie separate WAL-Absender pro Tabelle oder Gruppe von Tabellen benötigen, ist, wenn Sie separate Abonnements für jede dieser Tabellen oder Gruppen benötigen.
Unabhängig davon, wie viele WAL-Absender für die physische und logische Replikation verwendet werden, werden sie alle gleichzeitig aktiv, wenn ein Back-End etwas in das Write-Ahead-Protokoll schreibt. In diesem Fall werden die WAL-Absender, die der logischen Replikation zugewiesen sind, alle wie folgt reaktiviert:
Decodieren aller neuen Datensätze im WAL
Herausfiltern von irrelevanten Protokolldatensätzen
Replizieren der jeweils relevanten Daten
WAL-Absender ähneln Verbindungen in dem Sinne, dass, wenn sie im Leerlauf sind, es keine Rolle spielt, wie viele es gibt. Wenn sie jedoch aktiv sind, werden sie um die gleichen Ressourcen konkurrieren, und die Leistung könnte am Ende sehr schlecht sein. Dies gilt insbesondere für Absender mit logischer Replikation, da die logische Decodierung ziemlich CPU-intensiv ist. Jeder Worker muss den gesamten WAL decodieren, auch wenn er nur die Vorgänge repliziert, die sich auf eine einzelne Tabelle auswirken, und die einen winzigen Prozentsatz aller Daten im Write-Ahead-Protokoll darstellt. Bei der physischen Replikation ist es nicht so wichtig, da die WAL-Absender die CPU nicht so intensiv verbrauchen, und sie neigen dazu, zuerst an die Netzwerkbandbreite gebunden zu sein.
Daher ist es im Allgemeinen besser, nicht deutlich mehr WAL-Absender zu haben als V-Kerne.
Es empfiehlt sich, Platz für einige zusätzliche WAL-Absender hinzuzufügen, um auf zukünftiges Wachstum oder temporäre Spitzen in Replikationsverbindungen vorbereitet zu sein. Die folgenden beiden Beispiele sollen dies veranschaulichen.
Für einen Server mit 8 V-Kernen, deaktivierter Hochverfügbarkeit, 2 Lesereplikaten und 3 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (0) + physische Steckplätze für Lesereplikate (2) + logische Steckplätze (3) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (1) konfigurieren = 6.
Für einen Server mit 16 V-Kernen, aktivierter Hochverfügbarkeit, 4 Lesereplikaten und 5 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (2) + physische Steckplätze für Lesereplikate (4) + logische Steckplätze (5) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (2) konfigurieren = 13.
Wenn Sie dennoch finden, dass der für diesen Parameter zulässige Maximalwert für Ihre Anforderungen zu niedrig ist, wenden Sie sich an uns, beschreiben Sie Ihr Szenario ausführlich, und erläutern Sie, was Sie als den minimal akzeptablen Wert betrachten, den Sie benötigen, damit Ihr Szenario ordnungsgemäß ausgeführt werden kann.
Der Standardwert für den Serverparameter max_wal_senders, der festgelegt wird, wenn Sie die Instanz von Azure Database for PostgreSQL – Flexible Server bereitstellen, darf niemals den Wert 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication unterschreiten.
Berücksichtigen Sie bei der Notwendigkeit, max_wal_senders auf einen viel höheren Wert zu erhöhen, um mit der logischen Replikation einer erheblichen Anzahl von Tabellen umgehen zu können, die folgenden wichtigen Punkte:
Das logische Replizieren einer großen Anzahl von Tabellen erfordert nicht unbedingt eine große Anzahl von WAL-Absendern.
Der einzige Grund, warum Sie separate WAL-Absender pro Tabelle oder Gruppe von Tabellen benötigen, ist, wenn Sie separate Abonnements für jede dieser Tabellen oder Gruppen benötigen.
Unabhängig davon, wie viele WAL-Absender für die physische und logische Replikation verwendet werden, werden sie alle gleichzeitig aktiv, wenn ein Back-End etwas in das Write-Ahead-Protokoll schreibt. In diesem Fall werden die WAL-Absender, die der logischen Replikation zugewiesen sind, alle wie folgt reaktiviert:
Decodieren aller neuen Datensätze im WAL
Herausfiltern von irrelevanten Protokolldatensätzen
Replizieren der jeweils relevanten Daten
WAL-Absender ähneln Verbindungen in dem Sinne, dass, wenn sie im Leerlauf sind, es keine Rolle spielt, wie viele es gibt. Wenn sie jedoch aktiv sind, werden sie um die gleichen Ressourcen konkurrieren, und die Leistung könnte am Ende sehr schlecht sein. Dies gilt insbesondere für Absender mit logischer Replikation, da die logische Decodierung ziemlich CPU-intensiv ist. Jeder Worker muss den gesamten WAL decodieren, auch wenn er nur die Vorgänge repliziert, die sich auf eine einzelne Tabelle auswirken, und die einen winzigen Prozentsatz aller Daten im Write-Ahead-Protokoll darstellt. Bei der physischen Replikation ist es nicht so wichtig, da die WAL-Absender die CPU nicht so intensiv verbrauchen, und sie neigen dazu, zuerst an die Netzwerkbandbreite gebunden zu sein.
Daher ist es im Allgemeinen besser, nicht deutlich mehr WAL-Absender zu haben als V-Kerne.
Es empfiehlt sich, Platz für einige zusätzliche WAL-Absender hinzuzufügen, um auf zukünftiges Wachstum oder temporäre Spitzen in Replikationsverbindungen vorbereitet zu sein. Die folgenden beiden Beispiele sollen dies veranschaulichen.
Für einen Server mit 8 V-Kernen, deaktivierter Hochverfügbarkeit, 2 Lesereplikaten und 3 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (0) + physische Steckplätze für Lesereplikate (2) + logische Steckplätze (3) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (1) konfigurieren = 6.
Für einen Server mit 16 V-Kernen, aktivierter Hochverfügbarkeit, 4 Lesereplikaten und 5 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (2) + physische Steckplätze für Lesereplikate (4) + logische Steckplätze (5) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (2) konfigurieren = 13.
Wenn Sie dennoch finden, dass der für diesen Parameter zulässige Maximalwert für Ihre Anforderungen zu niedrig ist, wenden Sie sich an uns, beschreiben Sie Ihr Szenario ausführlich, und erläutern Sie, was Sie als den minimal akzeptablen Wert betrachten, den Sie benötigen, damit Ihr Szenario ordnungsgemäß ausgeführt werden kann.
Der Standardwert für den Serverparameter max_wal_senders, der festgelegt wird, wenn Sie die Instanz von Azure Database for PostgreSQL – Flexible Server bereitstellen, darf niemals den Wert 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication unterschreiten.
Berücksichtigen Sie bei der Notwendigkeit, max_wal_senders auf einen viel höheren Wert zu erhöhen, um mit der logischen Replikation einer erheblichen Anzahl von Tabellen umgehen zu können, die folgenden wichtigen Punkte:
Das logische Replizieren einer großen Anzahl von Tabellen erfordert nicht unbedingt eine große Anzahl von WAL-Absendern.
Der einzige Grund, warum Sie separate WAL-Absender pro Tabelle oder Gruppe von Tabellen benötigen, ist, wenn Sie separate Abonnements für jede dieser Tabellen oder Gruppen benötigen.
Unabhängig davon, wie viele WAL-Absender für die physische und logische Replikation verwendet werden, werden sie alle gleichzeitig aktiv, wenn ein Back-End etwas in das Write-Ahead-Protokoll schreibt. In diesem Fall werden die WAL-Absender, die der logischen Replikation zugewiesen sind, alle wie folgt reaktiviert:
Decodieren aller neuen Datensätze im WAL
Herausfiltern von irrelevanten Protokolldatensätzen
Replizieren der jeweils relevanten Daten
WAL-Absender ähneln Verbindungen in dem Sinne, dass, wenn sie im Leerlauf sind, es keine Rolle spielt, wie viele es gibt. Wenn sie jedoch aktiv sind, werden sie um die gleichen Ressourcen konkurrieren, und die Leistung könnte am Ende sehr schlecht sein. Dies gilt insbesondere für Absender mit logischer Replikation, da die logische Decodierung ziemlich CPU-intensiv ist. Jeder Worker muss den gesamten WAL decodieren, auch wenn er nur die Vorgänge repliziert, die sich auf eine einzelne Tabelle auswirken, und die einen winzigen Prozentsatz aller Daten im Write-Ahead-Protokoll darstellt. Bei der physischen Replikation ist es nicht so wichtig, da die WAL-Absender die CPU nicht so intensiv verbrauchen, und sie neigen dazu, zuerst an die Netzwerkbandbreite gebunden zu sein.
Daher ist es im Allgemeinen besser, nicht deutlich mehr WAL-Absender zu haben als V-Kerne.
Es empfiehlt sich, Platz für einige zusätzliche WAL-Absender hinzuzufügen, um auf zukünftiges Wachstum oder temporäre Spitzen in Replikationsverbindungen vorbereitet zu sein. Die folgenden beiden Beispiele sollen dies veranschaulichen.
Für einen Server mit 8 V-Kernen, deaktivierter Hochverfügbarkeit, 2 Lesereplikaten und 3 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (0) + physische Steckplätze für Lesereplikate (2) + logische Steckplätze (3) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (1) konfigurieren = 6.
Für einen Server mit 16 V-Kernen, aktivierter Hochverfügbarkeit, 4 Lesereplikaten und 5 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (2) + physische Steckplätze für Lesereplikate (4) + logische Steckplätze (5) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (2) konfigurieren = 13.
Wenn Sie dennoch finden, dass der für diesen Parameter zulässige Maximalwert für Ihre Anforderungen zu niedrig ist, wenden Sie sich an uns, beschreiben Sie Ihr Szenario ausführlich, und erläutern Sie, was Sie als den minimal akzeptablen Wert betrachten, den Sie benötigen, damit Ihr Szenario ordnungsgemäß ausgeführt werden kann.
Der Standardwert für den Serverparameter max_wal_senders, der festgelegt wird, wenn Sie die Instanz von Azure Database for PostgreSQL – Flexible Server bereitstellen, darf niemals den Wert 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication unterschreiten.
Berücksichtigen Sie bei der Notwendigkeit, max_wal_senders auf einen viel höheren Wert zu erhöhen, um mit der logischen Replikation einer erheblichen Anzahl von Tabellen umgehen zu können, die folgenden wichtigen Punkte:
Das logische Replizieren einer großen Anzahl von Tabellen erfordert nicht unbedingt eine große Anzahl von WAL-Absendern.
Der einzige Grund, warum Sie separate WAL-Absender pro Tabelle oder Gruppe von Tabellen benötigen, ist, wenn Sie separate Abonnements für jede dieser Tabellen oder Gruppen benötigen.
Unabhängig davon, wie viele WAL-Absender für die physische und logische Replikation verwendet werden, werden sie alle gleichzeitig aktiv, wenn ein Back-End etwas in das Write-Ahead-Protokoll schreibt. In diesem Fall werden die WAL-Absender, die der logischen Replikation zugewiesen sind, alle wie folgt reaktiviert:
Decodieren aller neuen Datensätze im WAL
Herausfiltern von irrelevanten Protokolldatensätzen
Replizieren der jeweils relevanten Daten
WAL-Absender ähneln Verbindungen in dem Sinne, dass, wenn sie im Leerlauf sind, es keine Rolle spielt, wie viele es gibt. Wenn sie jedoch aktiv sind, werden sie um die gleichen Ressourcen konkurrieren, und die Leistung könnte am Ende sehr schlecht sein. Dies gilt insbesondere für Absender mit logischer Replikation, da die logische Decodierung ziemlich CPU-intensiv ist. Jeder Worker muss den gesamten WAL decodieren, auch wenn er nur die Vorgänge repliziert, die sich auf eine einzelne Tabelle auswirken, und die einen winzigen Prozentsatz aller Daten im Write-Ahead-Protokoll darstellt. Bei der physischen Replikation ist es nicht so wichtig, da die WAL-Absender die CPU nicht so intensiv verbrauchen, und sie neigen dazu, zuerst an die Netzwerkbandbreite gebunden zu sein.
Daher ist es im Allgemeinen besser, nicht deutlich mehr WAL-Absender zu haben als V-Kerne.
Es empfiehlt sich, Platz für einige zusätzliche WAL-Absender hinzuzufügen, um auf zukünftiges Wachstum oder temporäre Spitzen in Replikationsverbindungen vorbereitet zu sein. Die folgenden beiden Beispiele sollen dies veranschaulichen.
Für einen Server mit 8 V-Kernen, deaktivierter Hochverfügbarkeit, 2 Lesereplikaten und 3 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (0) + physische Steckplätze für Lesereplikate (2) + logische Steckplätze (3) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (1) konfigurieren = 6.
Für einen Server mit 16 V-Kernen, aktivierter Hochverfügbarkeit, 4 Lesereplikaten und 5 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (2) + physische Steckplätze für Lesereplikate (4) + logische Steckplätze (5) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (2) konfigurieren = 13.
Wenn Sie dennoch finden, dass der für diesen Parameter zulässige Maximalwert für Ihre Anforderungen zu niedrig ist, wenden Sie sich an uns, beschreiben Sie Ihr Szenario ausführlich, und erläutern Sie, was Sie als den minimal akzeptablen Wert betrachten, den Sie benötigen, damit Ihr Szenario ordnungsgemäß ausgeführt werden kann.
Der Standardwert für den Serverparameter max_wal_senders, der festgelegt wird, wenn Sie die Instanz von Azure Database for PostgreSQL – Flexible Server bereitstellen, darf niemals den Wert 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication unterschreiten.
Berücksichtigen Sie bei der Notwendigkeit, max_wal_senders auf einen viel höheren Wert zu erhöhen, um mit der logischen Replikation einer erheblichen Anzahl von Tabellen umgehen zu können, die folgenden wichtigen Punkte:
Das logische Replizieren einer großen Anzahl von Tabellen erfordert nicht unbedingt eine große Anzahl von WAL-Absendern.
Der einzige Grund, warum Sie separate WAL-Absender pro Tabelle oder Gruppe von Tabellen benötigen, ist, wenn Sie separate Abonnements für jede dieser Tabellen oder Gruppen benötigen.
Unabhängig davon, wie viele WAL-Absender für die physische und logische Replikation verwendet werden, werden sie alle gleichzeitig aktiv, wenn ein Back-End etwas in das Write-Ahead-Protokoll schreibt. In diesem Fall werden die WAL-Absender, die der logischen Replikation zugewiesen sind, alle wie folgt reaktiviert:
Decodieren aller neuen Datensätze im WAL
Herausfiltern von irrelevanten Protokolldatensätzen
Replizieren der jeweils relevanten Daten
WAL-Absender ähneln Verbindungen in dem Sinne, dass, wenn sie im Leerlauf sind, es keine Rolle spielt, wie viele es gibt. Wenn sie jedoch aktiv sind, werden sie um die gleichen Ressourcen konkurrieren, und die Leistung könnte am Ende sehr schlecht sein. Dies gilt insbesondere für Absender mit logischer Replikation, da die logische Decodierung ziemlich CPU-intensiv ist. Jeder Worker muss den gesamten WAL decodieren, auch wenn er nur die Vorgänge repliziert, die sich auf eine einzelne Tabelle auswirken, und die einen winzigen Prozentsatz aller Daten im Write-Ahead-Protokoll darstellt. Bei der physischen Replikation ist es nicht so wichtig, da die WAL-Absender die CPU nicht so intensiv verbrauchen, und sie neigen dazu, zuerst an die Netzwerkbandbreite gebunden zu sein.
Daher ist es im Allgemeinen besser, nicht deutlich mehr WAL-Absender zu haben als V-Kerne.
Es empfiehlt sich, Platz für einige zusätzliche WAL-Absender hinzuzufügen, um auf zukünftiges Wachstum oder temporäre Spitzen in Replikationsverbindungen vorbereitet zu sein. Die folgenden beiden Beispiele sollen dies veranschaulichen.
Für einen Server mit 8 V-Kernen, deaktivierter Hochverfügbarkeit, 2 Lesereplikaten und 3 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (0) + physische Steckplätze für Lesereplikate (2) + logische Steckplätze (3) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (1) konfigurieren = 6.
Für einen Server mit 16 V-Kernen, aktivierter Hochverfügbarkeit, 4 Lesereplikaten und 5 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (2) + physische Steckplätze für Lesereplikate (4) + logische Steckplätze (5) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (2) konfigurieren = 13.
Wenn Sie dennoch finden, dass der für diesen Parameter zulässige Maximalwert für Ihre Anforderungen zu niedrig ist, wenden Sie sich an uns, beschreiben Sie Ihr Szenario ausführlich, und erläutern Sie, was Sie als den minimal akzeptablen Wert betrachten, den Sie benötigen, damit Ihr Szenario ordnungsgemäß ausgeführt werden kann.
Der Standardwert für den Serverparameter max_wal_senders, der festgelegt wird, wenn Sie die Instanz von Azure Database for PostgreSQL – Flexible Server bereitstellen, darf niemals den Wert 2 (if HA is enabled) + number of read replicas provisioned + slots_used_in_logical_replication unterschreiten.
Berücksichtigen Sie bei der Notwendigkeit, max_wal_senders auf einen viel höheren Wert zu erhöhen, um mit der logischen Replikation einer erheblichen Anzahl von Tabellen umgehen zu können, die folgenden wichtigen Punkte:
Das logische Replizieren einer großen Anzahl von Tabellen erfordert nicht unbedingt eine große Anzahl von WAL-Absendern.
Der einzige Grund, warum Sie separate WAL-Absender pro Tabelle oder Gruppe von Tabellen benötigen, ist, wenn Sie separate Abonnements für jede dieser Tabellen oder Gruppen benötigen.
Unabhängig davon, wie viele WAL-Absender für die physische und logische Replikation verwendet werden, werden sie alle gleichzeitig aktiv, wenn ein Back-End etwas in das Write-Ahead-Protokoll schreibt. In diesem Fall werden die WAL-Absender, die der logischen Replikation zugewiesen sind, alle wie folgt reaktiviert:
Decodieren aller neuen Datensätze im WAL
Herausfiltern von irrelevanten Protokolldatensätzen
Replizieren der jeweils relevanten Daten
WAL-Absender ähneln Verbindungen in dem Sinne, dass, wenn sie im Leerlauf sind, es keine Rolle spielt, wie viele es gibt. Wenn sie jedoch aktiv sind, werden sie um die gleichen Ressourcen konkurrieren, und die Leistung könnte am Ende sehr schlecht sein. Dies gilt insbesondere für Absender mit logischer Replikation, da die logische Decodierung ziemlich CPU-intensiv ist. Jeder Worker muss den gesamten WAL decodieren, auch wenn er nur die Vorgänge repliziert, die sich auf eine einzelne Tabelle auswirken, und die einen winzigen Prozentsatz aller Daten im Write-Ahead-Protokoll darstellt. Bei der physischen Replikation ist es nicht so wichtig, da die WAL-Absender die CPU nicht so intensiv verbrauchen, und sie neigen dazu, zuerst an die Netzwerkbandbreite gebunden zu sein.
Daher ist es im Allgemeinen besser, nicht deutlich mehr WAL-Absender zu haben als V-Kerne.
Es empfiehlt sich, Platz für einige zusätzliche WAL-Absender hinzuzufügen, um auf zukünftiges Wachstum oder temporäre Spitzen in Replikationsverbindungen vorbereitet zu sein. Die folgenden beiden Beispiele sollen dies veranschaulichen.
Für einen Server mit 8 V-Kernen, deaktivierter Hochverfügbarkeit, 2 Lesereplikaten und 3 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (0) + physische Steckplätze für Lesereplikate (2) + logische Steckplätze (3) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (1) konfigurieren = 6.
Für einen Server mit 16 V-Kernen, aktivierter Hochverfügbarkeit, 4 Lesereplikaten und 5 logischen Replikationsplätze sollten Sie max_wal_senders als Summe der physischen Steckplätze für Hochverfügbarkeit (2) + physische Steckplätze für Lesereplikate (4) + logische Steckplätze (5) + einige zusätzliche für zukünftiges Wachstum unter Berücksichtigung der verfügbaren V-Kerne (2) konfigurieren = 13.
Wenn Sie dennoch finden, dass der für diesen Parameter zulässige Maximalwert für Ihre Anforderungen zu niedrig ist, wenden Sie sich an uns, beschreiben Sie Ihr Szenario ausführlich, und erläutern Sie, was Sie als den minimal akzeptablen Wert betrachten, den Sie benötigen, damit Ihr Szenario ordnungsgemäß ausgeführt werden kann.