Ta strona jest oryginalną dokumentacją PmaControl. Zachowuje praktyczną strukturę indeksu do pracy nad optymalizacją MySQL, bez kopiowania treści zewnętrznych i bez zależności od zewnętrznego produktu.
Cel
Strona oceny wydajności agreguje główne sygnały serwera MySQL w jednym odczycie. Służy do priorytetyzacji działań, a nie do zastąpienia analizy DBA.
Przydatne wymiary
- Konfiguracja: spójność zmiennych z pamięcią, storage i obciążeniem.
- Zapytania: ciężar wolnych i częstych zapytań.
- Schemat: indeksy, klucze główne, wolumen i tabele tymczasowe.
- Stabilność: restarty, błędy połączeń, deadlocki i saturacja wątków.
- Pojemność: trendy CPU, I/O, QPS, połączeń i miejsca na dysku.
Przykładowa tabela
| Oś | Sygnał | Priorytet |
|---|---|---|
| Pamięć | Buffer pool zbyt mały albo swapping | Wysoki |
| Zapytania | 5 digestów zużywa większość czasu | Wysoki |
| Schemat | Krytyczne tabele bez odpowiednich indeksów | Średni do wysokiego |
| Połączenia | Max_used_connections blisko max_connections |
Średni |
Najważniejsze
Ocena globalna ma wartość tylko wtedy, gdy pozostaje wyjaśnialna. Każdy punkt musi wskazywać metrykę, zapytanie albo weryfikowalną konfigurację.
Określ zakres oceny
Utwórz datowaną ocenę dla roli serwera i reprezentatywnej pracy. Zapisz okres, świeżość danych, wersję, topologię, limity sprzętu i cel biznesowy. Przy opóźnieniach użytkownika uwzględnij aplikację i proxy. Serwer zapisujący, replika raportowa i zapasowy mają różne dopuszczalne obciążenia i ryzyka. To metoda przeglądu; tabele są szablonami, nie pomiarami ani automatycznym wynikiem PmaControl.
SELECT NOW() AS observed_at, @@hostname AS hostname,
VERSION() AS server_version, @@global.read_only AS read_only;
SHOW GLOBAL STATUS WHERE Variable_name IN (
'Uptime', 'Questions', 'Threads_connected', 'Threads_running',
'Connection_errors_max_connections', 'Innodb_log_waits',
'Innodb_buffer_pool_reads', 'Innodb_buffer_pool_read_requests'
);
Zbuduj ocenę opartą na dowodach
| Obszar | Dowód | Pytanie do rozstrzygnięcia |
|---|---|---|
| Dostępność | Rzeczywista ścieżka, restarty, bieżące błędy | Czy właściwa usługa kończy teraz pracę? |
| Zapytania | Digests, plany, percentyle żądań | Które zadania zużywają budżet czasu? |
| Pamięć i I/O | RSS, presja pamięci, opóźnienia odczytu/flush | Czy host ogranicza użyteczny przepływ? |
| Schemat | Tabele krytyczne, użycie indeksów, wzrost | Jaki koszt struktury potwierdza plan? |
| Odzyskiwanie i bezpieczeństwo | Test odtworzenia, znacznik repliki, grants, TLS | Czy ryzyko utraty i dostępu jest akceptowalne? |
Brakujące, stare lub wyłączone pomiary oznacz jako nieznane. Brak metryki nie może dawać zielonego statusu ani fikcyjnego zera. Oddziel obserwację, interpretację i proponowane działanie. Udział nietrafień bufora, historyczny szczyt połączeń i lista nieużywanych indeksów wymagają kontekstu obciążenia.
Ustal priorytet według wpływu, pilności i pewności
- Krytyczny: awaria teraz, bliskie wyczerpanie dysku, potwierdzone niedopuszczalne ryzyko danych lub dostępu.
- Wysoki: powtarzane przekroczenia celów opóźnień/błędów lub rosnąca presja o znanej przyczynie.
- Planowany: mierzalny koszt lub ryzyko bez obecnego wpływu; zaplanuj kontrolowaną weryfikację.
- Nieznany: zbyt mało dowodów; zleć zbieranie danych zamiast ogłaszać sukces.
Zapewnij porównywalność wyników przed i po
| Miara | Jednostka i metoda |
|---|---|
| Opóźnienia klienta p50/p95/p99 | ms, ten sam endpoint i rozkład żądań |
| Użyteczna przepustowość i błędy | ukończone operacje/s oraz błędne/wszystkie żądania |
| Koszt zasobów i bezpieczeństwo | CPU %, RSS MiB, I/O ms, opóźnienie s, identyczne wyniki |
Zachowaj porównywalny sprzęt, dane, ruch, współbieżność i cache; zapisz różnice i powtarzaj próby. Liczniki wymagają przyrostów oraz kontroli resetów. Średnie digests nie są percentylami żądań. Raportuj korzyści i regresje razem, przechowuj dowody i oznacz niezmierzone pola jako puste lub nieznane. Kryteria przyjęcia i wycofania ustal przed testem; większy przepływ z większą liczbą błędów nie musi być poprawą.
Zamknij proces kartą ustalenia
Dla każdego ustalenia zapisz serwer/zapytanie, czas, link do dowodu, pewność, wpływ biznesowy, właściciela, działanie, termin, test akceptacyjny i plan wycofania. Po naprawie dołącz wynik pomiaru i pozostałe ograniczenia; sprawdź szczyt i następny pełny cykl biznesowy. Nie zamykaj ustalenia tylko dlatego, że zmieniono ustawienie lub poprawił się wynik ogólny.
Dalsza diagnostyka
- Zbieraj dowody przez kontrolę stanu, schematu i bezpieczeństwa; weryfikuj działania przez strojenie i przegląd parametrów.