mysql slow logi

W tym miejscu można przytoczyć następujący przykład: powtarzane tysiąc razy na sekundę zapytanie wykonywane w ciągu dziesięciu milisekund stanowi większe
obciążenie dla serwera niż zapytanie wykonywane raz na sekundę i trwające dziesięć sekund.

Przedstawione poniżej opcje konfiguracyjne powodują włączenie dziennika zdarzeń, przechwycenie wszystkich zapytań wykonywanych dłużej niż dwie sekundy oraz zarejestrowanie zapytań, które nie używają indeksów. Dziennik będzie również zapisywał powolne polecenia
administracyjne, takie jak OPTIMIZE TABLE:

log-slow-queries = <nazwa_pliku>
long_query_time = 2
log-queries-not-using-indexes
log-slow-admin-statements

Profilowanie | 83
Powyższe opcje konfiguracyjne należy dostosować do własnych potrzeb, a następnie umieścić w pliku konfiguracyjnym serwera o nazwie my.cnf. 

Wartość domyślna opcji long_query_time wynosi dziesięć sekund. W większości zastosowań to zbyt długi okres czasu, autorzy zazwyczaj ustawiają tutaj dwie sekundy. Jednak w określonych sytuacjach nawet jedna sekunda będzie zbyt długim okresem czasu. Dokładne dostrojenie procesu rejestrowania zdarzeń zostało przedstawione w kolejnym podrozdziale.

W MySQL 5.1 zmienne systemowe slow_query_log i slow_query_log_file zapewniają w trakcie działania kontrolę nad dziennikiem powolnych zdarzeń, ale w MySQL 5.0 nie można
włączyć lub wyłączyć powolnych zdarzeń bez ponownego uruchomienia serwera MySQL. W MySQL 5.0 obejściem problemu zwykle jest zmienna long_query_time, której wartość
można dynamicznie zmieniać. Przedstawione poniżej polecenie faktycznie nie wyłącza dziennika powolnych zdarzeń, ale praktycznie daje taki efekt. (Jeżeli jakiekolwiek zapytanie w aplikacji jest wykonywane w czasie dłuższym niż 10000 sekund, to i tak należy je zoptymalizować!).

Komentarze wyłączone