mysql processlist sleep locked

L’output delle seguenti istruzioni


echo "show processlist;" | \
mysql -s -u root --password="xxxxxxxxxx"| \
awk -v tot=0 ' {print $4; $tot=tot+1; \
print "in TOTALE"}'| \
grep -v NULL| sort | uniq -c | sort -n | less

restituisce una tabella (mal formattata ma rende l’idea) di due colonne contenenti il numero totale di connessioni in piedi per db ed il nome del db stesso, in fondo restituisce il numero totale delle connessioni stabilite.

Per settare il numero massimo consentito (dopo si presenta il classico too many connection ) si setta la variabile

max-connections

Può tornare utile come strumento di monitoraggio al volo.

La connessione una volta stabilita rimane in attesa di poter essere riutilizzata ( da un processo figlio di apache per esempio )

Se si vuole modificare questo paramentro settate il timeout in secondi che desiderate

interactive_timeout 28800

Se riscontrate errori sul numero di connessioni massime e notate query in stato locked potete AL LIMITE della disperazione affidarvi al comando

kill ID

L’ID lo recuerate da “show processlist”

Posted in Mysql by texilee at November 22nd, 2007.

Leave a Reply