niveau de base de données
R: vérifier les problèmes des outils communs
1: msyqladmin: client MySQL, vous pouvez gérer l'opération
2: mysqlshow: shell puissante commande de vue
3: spectacle [SESSION | GLOBAL] Variables: voir le paramètre de base de données d'informations
4: SHOW [SESSION | GLOBAL] STATUT: vue de la base de données des informations d'état
5: information_schema: obtenir procédé métadonnées
6: SHOW InnoDB ETAT: Tous les moteurs InnoDB état
7: SHOW PROCESSLIST: Voir l'état actuel de toutes les sessions connectés
8: expliquer: obtenir le plan d'exécution de la requête
9: Indice de show: voir les informations d'index de table
10: lent journal: Record requête lente
11: mysqldumpslow: Analyse fichier slowlog
Deux: Solutions
idées de réglage d'urgence générale: appliquer pour une entreprise soudaine Caton, incapable de mener à bien les besoins normaux de traitement des affaires devant être traitées immédiatement scène
1: show processlist;
2: expliquer select id, nom de STU où name = 'RLSC'; # Tout sexe d'âge id nom;
select id, nom de STU où id = 2-1 fonctions jeu de résultats> 30; indice d'exposition de la table;
3: jugement Plan d'exécution, les questions d'indexation (il n'y a pas, est raisonnable) ou la déclaration elle-même est le problème;
4: état de spectacle comme « % de verrouillage% »; # état de verrouillage de la requête
tuer SESSION_ID; # tuer une séance de problème.
idées de réglage classiques: pour les entreprises cycliques Caton, par exemple, 10-11h toutes les entreprises particulièrement lent, mais peut également être utilisé sur une période de temps très bien.
1: Voir slowlog, analyse slowlog, analyser instruction de requête lente;
2: en fonction de certaines priorités, une par une enquête tous les états lents;
3: Analyser début SQL, effectuer le débogage expliquer, voir le temps d'exécution de l'instruction;
4: Ajuster l'index ou la déclaration elle-même.
niveau du système
R: vérifier les problèmes des outils communs
Cpu 方面: vmstat, top sar, htop, nmon, mpstat;
Mémoire: libre, ps-aux;
IO Devices (disque, réseau): iostat, SS, netstat, iptraf, iftop, lsof;
commande vmstat Description:
1) Procs: r montre combien de processus sont en attente de temps CPU. b affiché dans le nombre de processus de sommeil non interrompu. En attendant I / O.
2) Mémoire: affichage swpd est commuté sur le numéro de disque bloc de données. Le bloc de données, mise en mémoire tampon le bloc de données utilisateur n'est pas utilisé, le nombre de blocs de données pour le système d'exploitation.
3) Echange: la commutation de la seconde mémoire du système d'exploitation et une mémoire de disque à la quantité de bloc de données échangées à partir du disque. S0 et S1 sont de préférence 0.
4) Io: b1 est lu à partir du deuxième dispositif, le numéro de dispositif de blocs de données écrites dans b0. Elle reflète l'E / S disque
5) Système: afficher le nombre de numéro d'interruption (in) par événement et changement de contexte (cs) de.
6) Cpu: l'affichage d'un code d'utilisateur en cours d'exécution, le code de système, est inactif, le temps d'attente de CPU I / O.
Commande iostat Description:
Des exemples de commandes: iostat -dk 1 5
iostat -d -k -x 5 (voir utilisation de la capacité (% util) et le temps de réponse (le await))
1) Tps: le nombre de transferts par seconde dispositif. « Première transmission » signifie « une demande d'E / S ». Une pluralité de demandes logiques peuvent être combinées en « une demande d'E / S. »
Le nombre maximum de l'usine de matériel IO lorsque l'usine définie par une seconde: 2) IOP
3) « première transmission » la taille est inconnue.
4) kB_read / s: la quantité de données lues à partir du second dispositif (moteur exprimé);
5) KB_wrtn / s: la quantité de données à un second dispositif (moteur exprimé) écrit;
6) kB_read: La quantité totale de données lues;
7) kB_wrtn: la quantité du nombre total d'écriture de données; ces unités sont kilo-octets.
Deux: solutions de niveau système aux problèmes
Pensez-vous à la fin une bonne charge élevée, faible ou bien? Dans la production réelle, généralement considéré Cpu tant que plus de 90% ont aucun problème.
Nous ne nions pas ces cas particuliers ci-dessous:
Cpu charge élevée, une faible charge IO
1) la mémoire ne suffit pas;
2) pauvre disque de performance;
3) problème SQL ---> de la couche de base de données SQL problème supplémentaire d'enquête;
4) IO un problème (critique sur le disque, RAID mal conçu, abaissement de la descente, serrure, Tps trop élevé par unité de temps);
5) Tps trop élevé: un grand nombre de petites données IO, un grand nombre de scan de table complet.
IO charge élevée, Cpu faible charge
1) un grand nombre de petits IO écrit:
la validation automatique, un grand nombre de petits IO, un nombre maximum de valeur IO IO / PS, disque, usine de matériel lorsqu'un second défini par le fabricant.
2) un grand nombre de grand IO écrit: le problème est relativement grande chance de SQL
IO et ont une forte charge cpu
Le problème est pas de matériel ou SQL.