MySQL i wykrywanie złych zapytań

Arkadiusz Rdest weed w punkt.pl
Pią, 1 Gru 2006, 22:03:36 CET


Irek Słonina wrote:
> Paweł Kośka wrote:
> 
>>Witam,
>>
>>Mam to nieszczęście że muszę się zajmować serwerem MySQL. Problem w tym że od 
>>jakiegoś czasu ma on znacznie większe obciążenie.
>>
>>Czy jest jakiś mechanizm który mi powie jakie zapytania najbardziej obciążają 
>>ten serwer MySQL? Z niego korzysta dwóch użytkowników (serwisy WWW) no i 
>>staram się ustalić który z tych użytkowników generuje największe obciążenie i 
>>jakimi zapytaniami.
>>
>>  
> 
> najłatwiej to sobie w configu włączyć:
> log-slow-queries = /var/log/mysql/slow_queries.log
> 
> 

do tego poeksperymentuj z opcja
long_query_time = x

(gdzie x to ilosc sekund, jesli wykonanie zapytania zajmie wiecej niz x 
sekund to zostanie ono zapisane do log'a, defautowa wartosc to 10 sekund)


Gdynaprawde chcesz sobaczyc co sie dzieje na serwerze, to wlacz na 
chwile logowanie wszystkich zapytan (uwaga moze troche obciazyc serwer 
przy bardzo duzej ilosci zapytan)

# Log connections and queries.
# It slows down MySQL so it's disabled by default
log                    = /var/log/mysql/all.log

# Log some extra information to update log
log-long-format

i zobacz jakie polaczenia i zapytania sa wykonywane. moze analiza tych 
logow cos ci podpowie.


Jesli chcesz na biezaco monitorowac jakie polecenie jest wykonywane, to 
po zalogowaniu sie do mysql'a jako root (czy tez inny superuser) wydaj 
polecenie

mysql> show processlist;

pokaze ci aktualnie wykonywane zapytania/polaczenia i ich stan.



-- 
  -[  net and sys admin  ]-[ Learn the facts and make up your own ]-
  -[ weed(at)punkt(dot)pl]-[ damn mind. That's why you have one.  ]-


Więcej informacji o liście dyskusyjnej pld-users-pl