03/07/2024

Efekt domina w bazie danych T10 na g1rush Server

Problemy z wydajnością rzadko występują w izolacji. Często pojedynczy problem może wywołać kaskadę powiązanych problemów, z których każdy potęguje ogólny wpływ na system. Niniejsze studium przypadku analizuje taki scenariusz w bazie danych T10 na g1rush Server.

Identyfikacja początkowego problemu: Przepełnienie tymczasowej przestrzeni tabel

W dniu 21 czerwca 2024 r. o godzinie 13:04:32, DBPLUS PERFORMANCE MONITOR oflagował krytyczny błąd: ORA-1652, wskazujący na niemożność rozszerzenia segmentu tymczasowego o 128 w przestrzeni tabel TEMPORARY_DATA w bazie danych T10 na g1rush Server. Błąd ten wystąpił z powodu jednoczesnych sesji przytłaczających tymczasową przestrzeń tabel, zużywając ponad 30 GB.

g1rush Server - Identyfikacja początkowego problemu

Podkreślony na wykresie skokowy wzrost wykorzystania zasobów natychmiast zwrócił uwagę firmy. Przepełnienie to zakłócało bieżące operacje i wskazywało na nieefektywne zarządzanie zasobami.

Problem drugorzędny: Wysokie obciążenie procesora

Dalsze dochodzenie ujawniło utrzymujące się wysokie obciążenie procesora, nawet po zmniejszeniu liczby aktywnych procesów. Cykliczny charakter tego obciążenia, osiągający szczyt w okresach wysokiej aktywności, sugerował głębsze problemy z optymalizacją zapytań i alokacją zasobów.

g1rush Server - Wysokie obciążenie procesora

Powyższy wykres przedstawia czas zajętości (CPU), czas systemowy (CPU) i czas użytkownika (CPU) z wyraźnym wzorcem cyklicznych szczytów. To utrzymujące się wysokie obciążenie wymagało od nas zagłębienia się w konkretne zapytania i procesy zużywające zasoby procesora.

Szczegółowa analiza zapytań: Czas wykonania i zmiany planu

Następnym krokiem było przeanalizowanie konkretnych zapytań przyczyniających się do wysokiego obciążenia procesora. W szczególności zapytanie o identyfikatorze 3445255751 wykazało znaczące zmiany w czasie wykonania i planie. Podejrzewano, że zmiany te były związane z wydłużonym czasem wykonania innego zapytania, ID 904000402, ze względu na użycie funkcji współdzielonej.

g1rush Server - Szczegółowa analiza zapytań: Czas wykonania i zmiany planu

Analiza wykazała, że zapytanie 3445255751 doświadczyło wahań czasu wykonania, co miało wpływ na ogólną wydajność. Porównując plany wykonania, zidentyfikowaliśmy hash planu 232983816 jako potencjalną przyczynę nieefektywności.

To porównanie podkreśliło potrzebę ustabilizowania wydajności zapytania poprzez wymuszenie określonego planu. Zmiana strategii wykonania zasugerowała potrzebę konsekwentnego monitorowania i terminowego dostosowywania planów.

Obciążenie sieci

Kontynuując nasze dochodzenie, zauważyliśmy znaczne obciążenie sieci, przy transferach danych sięgających nawet 52 GB w ciągu godziny. Wskazywało to na znaczny przepływ danych, co mogło zaostrzyć zaobserwowane problemy z wydajnością.

Obciążenie sieci - g1rush Server

Analiza ruchu sieciowego wykazała dużą ilość bajtów odbieranych i wysyłanych przez SQL*Net, podkreślając wpływ transferu danych na ogólną wydajność.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *