Wykonywanie inteligentnego dostrajania w usłudze Azure Database for PostgreSQL — serwer elastyczny

DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny

Serwer elastyczny usługi Azure Database for PostgreSQL ma inteligentną funkcję dostrajania, która została zaprojektowana w celu automatycznego zwiększenia wydajności i zapobiegania problemom. Inteligentne dostrajanie stale monitoruje stan elastycznej bazy danych serwera usługi Azure Database for PostgreSQL i dynamicznie dostosowuje bazę danych do obciążenia.

Ta funkcja obejmuje dwie funkcje automatycznego dostrajania:

  • Dostrajanie automatycznego czyszczenia: ta funkcja śledzi współczynnik wzdęć i odpowiednio dostosowuje ustawienia automatycznego czyszczenia. Czynnikiem jest zarówno bieżące, jak i przewidywane użycie zasobów, aby zapobiec zakłóceniom obciążeń.
  • Dostrajanie zapisu: ta funkcja monitoruje wolumin i wzorce operacji zapisu oraz modyfikuje parametry wpływające na wydajność zapisu. Te korekty zwiększają wydajność i niezawodność systemu, aby proaktywnie zapobiec potencjalnym komplikacjom.

Inteligentne dostrajanie można włączyć przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Dlaczego inteligentne dostrajanie?

Proces automatycznego czyszczenia jest kluczową częścią utrzymania kondycji i wydajności elastycznej bazy danych serwera usługi Azure Database for PostgreSQL. Pomaga odzyskać magazyn zajmowany przez "martwe" wiersze, zwalniając miejsce i zapewniając bezproblemowe działanie bazy danych.

Równie ważne jest dostrajanie operacji zapisu w bazie danych. To zadanie zazwyczaj należy do administratorów bazy danych. Ciągłe monitorowanie bazy danych i dostrajanie operacji zapisu może być trudne i czasochłonne. To zadanie staje się coraz bardziej złożone, gdy masz do czynienia z wieloma bazami danych.

W tym miejscu są wykonywane inteligentne kroki dostrajania. Zamiast ręcznie nadzorować i dostrajać bazę danych, możesz użyć inteligentnego dostrajania, aby automatycznie monitorować i dostrajać bazę danych. Następnie możesz skupić się na innych ważnych zadaniach.

Funkcja dostrajania automatycznego czyszczenia w inteligentnym dostrajaniu monitoruje współczynnik wzdęć i dostosowuje ustawienia zgodnie z potrzebami w celu uzyskania optymalnego wykorzystania zasobów. Aktywnie zarządza procesem "czyszczenia" bazy danych i ogranicza problemy z wydajnością, które mogą powodować nieaktualne dane.

Funkcja dostrajania zapisów obserwuje ilość i transakcyjne wzorce operacji zapisu. Inteligentnie dostosowuje parametry, takie jak bgwriter_delay, checkpoint_completion_target, max_wal_sizei min_wal_size. Dzięki temu zwiększa wydajność i niezawodność systemu, nawet w przypadku dużych obciążeń zapisu.

Korzystając z inteligentnego dostrajania, możesz zaoszczędzić cenny czas i zasoby, korzystając z elastycznego serwera usługi Azure Database for PostgreSQL, aby zachować optymalną wydajność baz danych.

Jak działa inteligentne dostrajanie?

Inteligentne dostrajanie to ciągły proces monitorowania i analizy, który nie tylko uczy się o cechach obciążenia, ale także śledzi bieżące obciążenie i użycie zasobów, takie jak procesor CPU lub liczba operacji we/wy na sekundę. Nie zakłóca to normalnych operacji obciążenia aplikacji.

Dzięki procesowi baza danych może dynamicznie dostosowywać się do obciążenia, rozpoznając bieżący współczynnik wzłożenia, wydajność zapisu i wydajność punktu kontrolnego w wystąpieniu. Dzięki tym szczegółowym informacjom inteligentne dostrajanie wdraża akcje dostrajania, które zwiększają wydajność obciążenia i unikają potencjalnych pułapek.

Dostrajanie automatycznego czyszczenia

Inteligentne dostrajanie dostosowuje pięć parametrów związanych z automatycznym czyszczeniem: autovacuum_vacuum_scale_factor, , autovacuum_cost_limitautovacuum_naptime, autovacuum_vacuum_thresholdi autovacuum_vacuum_cost_delay. Te parametry regulują składniki, takie jak:

  • Ułamek tabeli, która wyrusza w VACUUM proces.
  • Limit opóźnienia próżni opartego na kosztach.
  • Interwał wstrzymania między przebiegami automatycznego czyszczenia.
  • Minimalna liczba zaktualizowanych lub utraconych krotki potrzebnych do rozpoczęcia VACUUM procesu.
  • Czas trwania wstrzymania między rundami oczyszczania.

Ważne

Inteligentne dostrajanie modyfikuje parametry związane z automatycznym czyszczeniem na poziomie serwera, a nie na poszczególnych poziomach tabeli. Ponadto jeśli funkcja automatycznego czyszczenia jest wyłączona, inteligentne dostrajanie nie może działać poprawnie. W celu inteligentnego dostrajania w celu zoptymalizowania procesu należy włączyć funkcję automatycznego czyszczenia.

Chociaż demon autovacuum wyzwala dwie operacje (VACUUM i ANALYZE), inteligentne dostrajanie dostrajania tylko VACUUM proces. Ta funkcja obecnie nie dostosowuje ANALYZE procesu, który zbiera statystyki dotyczące spisu treści, aby pomóc planistce zapytań serwera elastycznego usługi Azure Database for PostgreSQL wybrać najbardziej odpowiedni plan wykonywania zapytań.

Inteligentne dostrajanie obejmuje zabezpieczenia w celu mierzenia wykorzystania zasobów, takiego jak procesor CPU i IOPS. Nie zwiększy to aktywności automatycznego czyszczenia, gdy wystąpienie jest obciążone dużym obciążeniem. Dzięki temu inteligentne dostrajanie zapewnia równowagę między skutecznymi operacjami oczyszczania a ogólną wydajnością systemu.

Gdy inteligentne dostrajanie optymalizuje autovacuum, uwzględnia średnie wzdęcie serwera przy użyciu statystyk dotyczących żywych i martwych krotek. Aby zmniejszyć wzdęcie, inteligentne dostrajanie może zmniejszyć parametry, takie jak współczynnik skalowania lub drzemka. Proces może zostać wyzwolony VACUUM wcześniej i, w razie potrzeby, zmniejszyć opóźnienie między rundami.

Z drugiej strony, jeśli wzdęcie jest minimalne, a proces automatycznego czyszczenia jest zbyt agresywny, inteligentne dostrajanie może zwiększyć parametry, takie jak opóźnienie, współczynnik skalowania i drzemka. Ta równowaga minimalizuje wzdęcie i pomaga zapewnić, że proces automatycznego czyszczenia korzysta z zasobów wydajnie.

Dostrajanie zapisów

Inteligentne dostrajanie dostosowuje cztery parametry związane z dostrajaniem zapisów: bgwriter_delay, , checkpoint_completion_targetmax_wal_sizei min_wal_size.

Parametr bgwriter_delay określa częstotliwość, z jaką proces zapisywania w tle jest wybudzony w celu czyszczenia buforów "brudnych" (buforów, które są nowe lub zmodyfikowane). Proces zapisywania w tle jest jednym z trzech procesów na serwerze elastycznym usługi Azure Database for PostgreSQL obsługującym operacje zapisu. Drugi to proces punktu kontrolnego i zapisy zaplecza (standardowe procesy klienta, takie jak połączenia aplikacji).

Podstawową rolą procesu zapisywania w tle jest złagodzenie obciążenia z głównego procesu modułu kontrolnego i zmniejszenie obciążenia zapisów zaplecza. Parametr bgwriter_delay określa częstotliwość rund składników zapisywania w tle. Dostosowując ten parametr, można również zoptymalizować wydajność zapytań języka manipulowania danymi (DML).

Parametr checkpoint_completion_target jest częścią drugiego mechanizmu zapisu obsługiwanego przez serwer elastyczny usługi Azure Database for PostgreSQL, w szczególności procesu punktu kontrolnego. Punkty kontrolne występują w stałych odstępach czasu, które checkpoint_timeout definiują (chyba że wymuszone przez przekroczenie skonfigurowanego miejsca). Aby uniknąć przeciążenia systemu we/wy z gwałtownym wzrostem zapisów stron, zapisywanie zanieczyszczonych buforów w punkcie kontrolnym jest rozłożone na pewien czas. Parametr checkpoint_completion_target steruje tym czasem trwania za pomocą polecenia checkpoint_timeout , aby określić czas trwania jako ułamek interwału punktu kontrolnego.

Wartość domyślna to checkpoint_completion_target 0,9 (od wersji PostgreSQL 14). Ta wartość zazwyczaj działa najlepiej, ponieważ rozkłada obciążenie we/wy w maksymalnym okresie. W rzadkich przypadkach punkty kontrolne mogą nie zostać zakończone w czasie z powodu nieoczekiwanych wahań liczby potrzebnych segmentów rejestrowania zapisu i zapisu (WAL). Potencjalny wpływ na wydajność jest powodem checkpoint_completion_target , dla którego jest metryka docelowa do inteligentnego dostrajania.

Ograniczenia i znane problemy

  • Inteligentne dostrajanie sprawia, że optymalizacje są wykonywane tylko w określonych zakresach. Istnieje możliwość, że funkcja nie wprowadzi żadnych zmian.
  • Inteligentne dostrajanie nie dostosowuje ANALYZE ustawień.
  • Dostrajanie automatycznego czyszczenia jest obecnie obsługiwane w warstwach obliczeniowych serwera Ogólnego przeznaczenia i Zoptymalizowane pod kątem pamięci, które mają co najmniej cztery rdzenie wirtualne. Warstwa obliczeniowa serwera z możliwością rozszerzenia nie jest obsługiwana.

Następne kroki