PmaControl logo PmaControl
  • Strona główna
  • Strona główna
    • PmaControl PmaControl
    • PmaControl PmaControl
    • PmaControl PmaControl
    • Historia wersji Wszystkie stabilne wersje 5.x
    • Marketplace Wtyczki społeczności
    • PmaControl PmaControl
    • Agenci AI Agenci AI
    Klienci
    • MariaDB 35 artykułów
    • MySQL 15 artykułów
    • Galera Cluster 6 artykułów
    • MaxScale 4 artykuły
    • ProxySQL 3 artykuły
    • Amazon Aurora MySQL 0 artykuły
    • Azure Database 0 artykuły
    • ClickHouse 0 artykuły
    • GCP CloudSQL 0 artykuły
    • Percona Server 0 artykuły
    • SingleStore 0 artykuły
    • TiDB 0 artykuły
    • Vitess 0 artykuły
    Bazy danych
    • Rozwiązania Rozwiązania
    • Observabilité SQL Rozwiązania
    • Haute disponibilité Rozwiązania
    • Disaster Recovery Rozwiązania
    • Sécurité & conformité Wsparcie 24×7
    • Migration & upgrade Wsparcie 24×7
  • PmaControl
  • Cennik
    • PmaControl Zasoby
    • Centrum optymalizacji MySQL Indeks Markdown, metryki, parametry, incydenty
    • Agenci AI Zasoby
    • Zasoby Zasoby
    • Zasoby Zasoby
    • Dokumentacja Dokumentacja
    Blog
    • Observabilité SQL Obszary ekspertyzy
    • Haute disponibilité Rozwiązania
    • Sécurité & conformité Obszary ekspertyzy
    • Disaster Recovery Rozwiązania
    • Performance & optimisation Obserwowalność SQL
    • Migration & upgrade Obserwowalność SQL
    Wydajność i optymalizacja
    • Szybkie linki Szybkie linki
    • Szybkie linki Szybkie linki
    • Rozwiązania Rozwiązania
    • Szybkie linki Szybkie linki
  • Rozwiązania
  • Szybkie linki
Szybkie linki
🇫🇷 FR Français 🇬🇧 EN English 🇵🇱 PL Polski 🇷🇺 RU Русский 🇨🇳 ZH 中文 🇸🇦 AR العربية
Cennik › Centrum optymalizacji MySQL › Parametry wydajności MySQL

Parametry wydajności MySQL

Strukturalna dokumentacja Markdown do diagnozowania, mierzenia i optymalizacji MySQL.

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

Parametry MySQL sterują pamięcią, wątkami, cache, trwałością i I/O. Powinny być dokumentowane według roli, a nie zmieniane jak magiczna lista.

Rodziny parametrów

  1. Pamięć globalna: innodb_buffer_pool_size, key_buffer_size, cache tabel.
  2. Pamięć per sesja: sort_buffer_size, join_buffer_size, read_rnd_buffer_size, tmp_table_size.
  3. I/O InnoDB: flush, redo log, page cleaners, wątki odczytu i zapisu.
  4. Połączenia: max_connections, thread cache, limity plików.
  5. Zgodność historyczna: query cache, MyISAM i parametry przestarzałe.

Metoda

Zacznij od SHOW VARIABLES i SHOW GLOBAL STATUS, a potem porównaj wartości z obserwowanym zachowaniem. Wysoka wartość może pogorszyć użycie pamięci, jeśli jest alokowana per połączenie.

Zobacz też: Indeks parametrów.

Sprawdź wartości efektywne i ich zakres

Zacznij od identyfikacji i wartości faktycznie używanych przez proces. Pliki konfiguracji nie pokazują wszystkich opcji uruchomienia, wartości utrwalonych lub zmian w czasie pracy. Domyślne wartości globalne mogą różnić się od istniejącej sesji. Zapisz jednostki, zakres, źródło, możliwość zmiany bez restartu i pierwotną wartość. Lista pomija zmienne nieudostępniane przez daną wersję.

SELECT VERSION() AS server_version, @@version_comment AS distribution;
SHOW GLOBAL VARIABLES WHERE Variable_name IN (
  'innodb_buffer_pool_size', 'innodb_log_buffer_size',
  'innodb_redo_log_capacity', 'innodb_log_file_size',
  'innodb_flush_log_at_trx_commit', 'sync_binlog',
  'max_connections', 'thread_cache_size', 'table_open_cache',
  'sort_buffer_size', 'join_buffer_size', 'tmp_table_size',
  'max_heap_table_size', 'internal_tmp_mem_storage_engine',
  'temptable_max_ram', 'temptable_max_mmap'
);
SHOW SESSION VARIABLES WHERE Variable_name IN (
  'sort_buffer_size', 'join_buffer_size', 'tmp_table_size',
  'max_heap_table_size'
);

Powiąż każdą grupę z pomiarami

Grupa Jak potwierdzić Kompromis do oceny
Bufor pamięci Aktywne dane, przyrosty odczytów, RSS Korzyść cache a zapas pamięci hosta
Pojemność redo Tempo zapisu, oczekiwania redo, checkpointy Miejsce na dysku i zachowanie odtwarzania
Bufory sesji Rzeczywiste sortowania, złączenia i współbieżność Alokacje na żądanie i wiele operatorów
Limity połączeń i tabel Odmowy, tworzenie wątków, tempo otwierania tabel Wyższy limit może zwiększyć pamięć i rywalizację
Trwałość commitów Opóźnienie commitów i wymagana odporność na awarie Przepustowość a ryzyko utraty potwierdzonych danych

Planuj pamięć według sposobu alokacji

Nie mnoż wszystkich buforów przez max_connections, uznając wynik za rzeczywiste użycie RAM. Wiele buforów powstaje na żądanie, a zapytanie może mieć kilka buforów złączeń lub tabel tymczasowych. Oddziel pamięć globalną, koszt połączonych sesji i aktywnych zapytań; zachowaj scenariusz przeciążenia do analizy. Uwzględnij system, inne usługi i instrumentację, a następnie porównaj model z RSS i presją pamięci.

MySQL TempTable ma wspólny budżet RAM sterowany przez temptable_max_ram; od MySQL 8.0.28 tmp_table_size ogranicza również pojedynczą wewnętrzną tabelę TempTable. Wewnętrzne tabele MEMORY używają mniejszej wartości tmp_table_size i max_heap_table_size. Reguły zależą od silnika i wersji. Pojemność redo to dysk, a innodb_log_buffer_size to RAM: nie sumuj obu jako pamięci.

Uwzględnij wersję i trwałość ustawień

MySQL 8.0.30 wprowadził innodb_redo_log_capacity; starsze wersje używają zmiennych rozmiaru plików redo. Query cache dotyczy starszego MySQL i usunięto go w MySQL 8. MariaDB ma własny cykl życia zmiennych wymagający sprawdzenia jej dokumentacji. Nie kopiuj konfiguracji z nieznanymi lub usuniętymi zmiennymi do nowej wersji bez weryfikacji.

Dla każdej zmiany sprawdź wpływ na sesje istniejące, nowe i potrzebę restartu. Zmiana globalna w czasie pracy nie musi być trwała; MySQL SET PERSIST zapisuje osobną konfigurację. Uzgodnij wartości bieżące i po restarcie, zapisz wycofanie obu i testuj reconnect/restart w kontrolowanym środowisku. Porównuj pojedynczą hipotezę na tej samej pracy i zachowuj wymaganą trwałość zamiast wymieniać ją na efektowny wynik.

Dalsza diagnostyka

  • Użyj kalkulatora pamięci do scenariuszy alokacji i indeksu parametrów dla pojedynczych ustawień.

Oficjalne źródła

  • MySQL redo log
  • MySQL internal temporary tables
  • MySQL persisted variables
PmaControl
+33 6 63 28 27 47 contact@pmacontrol.com
Platforma eksploatacji SQL GitHub Platforma eksploatacji SQL
Platforma eksploatacji SQL © 2014-2026 PmaControl — 68Koncept