Kiedy pracujesz nad zwiększeniem szybkości swojej witryny, bardzo ważnym elementem jest upewnienie się, że uzyskasz ostatnią kroplę wydajności z serwera bazy danych. Niestety, dla większości z nas, którzy zwykle nie są administratorami baz danych, może to być trudna propozycja.
Istnieje wiele skryptów dostrajających wydajność, które przeanalizują ustawienia serwera i aktualny stan oraz podadzą informacje o zalecanych zmianach, które należy wprowadzić. Niekoniecznie powinieneś podążać za wszystkimi sugestiami, ale i tak warto się przyjrzeć.
Skrypt, którego używam, zawiera zalecenia dotyczące następujących kwestii:
Po pobraniu skryptu musisz ustawić go jako wykonywalny za pomocą następującego polecenia:
chmod u+x tuning-primer.sh
Jeśli uruchomisz ten skrypt jako zwykły użytkownik, zostaniesz poproszony o podanie hasła, więc musisz odpowiednio ustawić dostęp. Jeśli uruchomisz go jako root, odbierze hasło mysql z Pleska, jeśli masz to zainstalowane.
Wyciąłem wiele wyników, które zawierały znacznie więcej zaleceń, ale były po prostu za długie, aby zmieścić się na stronie.
./tuning-primer.sh
— MYSQL PERFORMANCE TUNING PRIMER —
– Autor: Matthew Montgomery –MySQL w wersji 4.1.20 i686
Czas pracy = 5 dni 10 godz. 46 min 5 s
Śr. qps = 4
Wszystkie pytania = 2020809
Połączone wątki = 1Serwer działa od ponad 48 godzin.
Przestrzeganie tych zaleceń powinno być bezpieczne———– obcięty ————–
Pamięć podręczna zapytań
Pamięć podręczna zapytań jest włączona
Bieżący rozmiar_pamięci_podręcznej_zapytania = 8 mln
Bieżące zapytanie_cache_used = 7 mln
Bieżący query_cach_limit = 1 M
Bieżący współczynnik wypełnienia pamięci podręcznej zapytań = 89,38%
Jednak 254246 zapytań zostało usuniętych z pamięci podręcznej zapytań z powodu braku pamięci
Być może powinieneś podnieść query_cache_size
MySQL nie buforuje wyników zapytań, które są większe niż query_cache_limit w rozmiarze———– obcięty ————–
Wygląda na to, że muszę zwiększyć pamięć podręczną zapytań… Ustawiłem ją tylko na 8 MB, ale zbyt często czyści pamięć podręczną.
———– obcięty ————–
TABELE TEMPERATUROWE
Obecny max_heap_table_size = 16 M
Bieżący rozmiar_tabeli_tmp = 32 mln
Z 35170 tabel tymczasowych 74% zostało utworzonych na dysku
Efektywny tmp_table_size w pamięci jest ograniczony do max_heap_table_size.
Być może powinieneś zwiększyć swój tmp_table_size i/lub max_heap_table_size
w celu zmniejszenia liczby tabel tymczasowych opartych na dyskach
Notatka! Kolumny BLOB i TEXT nie są dozwolone w tabelach pamięci.
Jeśli korzystasz z tych kolumn, podniesienie tych wartości może nie wpłynąć na Twoje
stosunek tabel temp. na dysku.———– obcięty ————–
Tego typu informacje są po prostu nieocenione, gdy próbujesz dostroić wydajność swojej witryny.