Maison >Tutoriel système >Linux >Explication détaillée des indicateurs de performance MySQL et des méthodes de calcul
La grande majorité des métriques de performances MySQL peuvent être obtenues des deux manières suivantes :
Les indicateurs de performances MySQL obtenus à l'aide de la commande mysqladmin extended-status sont par défaut des valeurs cumulées. Si vous voulez connaître l'état actuel, vous devez calculer la différence ; avec le paramètre --relative(-r), vous pouvez voir la différence de chaque indicateur, et avec le paramètre --sleep(-i), vous pouvez spécifier la fréquence de rafraîchissement.
Peut répertorier diverses valeurs d'état du serveur MySQL en cours d'exécution, valeur cumulée.
La commande Mysqladmin extend-status et show global status obtiennent de nombreux éléments indicateurs. Dans les applications pratiques, concentrez-vous sur les indicateurs de performance suivants :
tps : Transactions par seconde, nombre de transactions par seconde ;
qps : requêtes par seconde ;Il existe généralement deux façons de calculer tps/qps :
Méthode 1 : calculez les tps en fonction de com_commit et com_rollback, et calculez les qps en fonction des questions.
TPS = Com_commit/s + Com_rollback/s
Parmi eux,
Com_commit /s= mysqladmin extend-status --relative --sleep=1|grep -w Com_commit
Com_rollback/s = mysqladmin extend-status --relative --sleep=1|grep -w Com_rollback
QPS fait référence au nombre total de requêtes exécutées par le serveur MySQL par seconde, qui est approximativement représenté par le changement de la valeur du statut des questions (nombre de requêtes client) par seconde, il y a donc :
QPS = mysqladmin extend-status --relative --sleep=1|grep -w Questions
En suivant la méthode ci-dessus, vous pouvez également obtenir le nombre de sélections, d'insertions, de mises à jour, de suppressions MySQL par seconde, etc., telles que :
Com_select/s = mysqladmin extend-status --relative --sleep=1|grep -w Com_select
Com_select/s : nombre moyen d'exécutions d'instructions select par seconde
Com_insert/s : nombre moyen d'exécutions d'instructions d'insertion par seconde
Com_update/s : nombre moyen d'exécutions d'instructions de mise à jour par seconde
Com_delete/s : nombre moyen d'exécutions d'instructions de suppression par seconde
Méthode 2 : Calculer les tps, qps en fonction de com_%
tps= Com_insert/s + Com_update/s + Com_delete/s
qps=Com_select/s + Com_insert/s + Com_update/s + Com_delete/s
threads_connected : Le nombre de threads actuellement connectés
Bytes_sent/s : nombre moyen d'octets envoyés à tous les clients par seconde, unité Ko
innodb_data_writes : le nombre moyen de fois qu'innodb écrit à partir du fichier par seconde
innodb_data_fsyncs : le nombre moyen d'opérations fsync() effectuées par innodb par seconde
innodb_data_read : quantité moyenne de données lues par innodb par seconde, en Ko
innodb_data_writing : la quantité moyenne de données écrites par innodb par seconde, en Ko
innodb_buffer_pool_reads : nombre moyen de pages lues à partir du disque physique par seconde
innodb_buffer_pool_read_requests : nombre moyen de lectures du pool de tampons innodb par seconde (nombre de requêtes de lecture logique)
innodb_buffer_pool_write_requests : nombre moyen d'écritures dans le pool de tampons innodb par seconde
innodb_buffer_pool_pages_dirty : nombre moyen de pages sales dans le pool de cache innodb par seconde
innodb_buffer_pool_pages_flushed : nombre moyen de demandes de vidage de pages dans le pool de cache innodb par seconde
Taux de réussite du pool de tampons innodb
innodb_buffer_read_hit_ratio = ( 1 - Innodb_buffer_pool_reads/Innodb_buffer_pool_read_requests) * 100
Utilisation du pool de tampons Innodb
Innodb_buffer_usage = ( 1 - Innodb_buffer_pool_pages_free / Innodb_buffer_pool_pages_total) * 100
innodb_os_log_fsyncs : nombre moyen d'écritures fsync() dans le fichier journal par seconde
innodb_os_log_writing : nombre moyen d'octets écrits dans le fichier journal par seconde
innodb_log_writes : nombre moyen d'écritures physiques dans le fichier journal par seconde
innodb_log_write_requests : nombre moyen de requêtes d'écriture de journal par seconde
innodb_rows_deleted : le nombre moyen de lignes supprimées de la table innodb par seconde
innodb_rows_inserted : le nombre moyen de lignes insérées à partir de la table innodb par seconde
innodb_rows_read : le nombre moyen de lignes lues dans la table innodb par seconde
innodb_rows_updated : le nombre moyen de lignes mises à jour à partir de la table innodb par seconde
innodb_row_lock_waits : le nombre de fois qu'une ligne doit attendre le verrouillage
innodb_row_lock_time : temps total passé au verrouillage des lignes, en millisecondes
innodb_row_lock_time_avg : temps moyen de verrouillage des lignes, en millisecondes
key_read_requests : nombre moyen de lectures de MyISAM à partir du pool de mémoire tampon par seconde
Key_write_requests : le nombre moyen d'écritures MyISAM à partir du pool de tampons par seconde
key_reads : le nombre moyen de fois que MyISAM lit sur le disque dur par seconde
key_writes : le nombre moyen de fois que MyISAM écrit à partir du disque dur par seconde
Utilisation moyenne du tampon de clé MyISAM par seconde
Key_usage_ratio =Key_blocks_used/(Key_blocks_used+Key_blocks_unused)*100
Taux de lecture moyen du tampon de clé MyISAM par seconde
Key_read_hit_ratio=(1-Key_reads/Key_read_requests)*100
Taux moyen d'écriture du tampon de clé MyISAM par seconde
Key_write_hit_ratio =(1-Key_writes/Key_write_requests)*100
Created_tmp_disk_tables : Le nombre de tables temporaires créées automatiquement sur le disque dur lorsque le serveur exécute une instruction
Created_tmp_tables : Le nombre de tables temporaires en mémoire qui sont automatiquement créées lorsque le serveur exécute une instruction
Le ratio Created_tmp_disk_tables/Created_tmp_tables ne doit pas dépasser 10 %. Si la valeur de Created_tmp_tables est relativement grande, il peut y avoir trop de phrases de tri ou les phrases de connexion ne sont pas suffisamment optimisées
slow_queries : Le nombre de requêtes dont le temps d'exécution dépasse long_query_time secondes (important)
sort_rows : nombre de lignes triées
open_files : Nombre de fichiers ouverts
open_tables : Nombre de tables actuellement ouvertes
select_scan : Nombre de jointures pour un scan complet de la première table
De plus, certains indicateurs de performance ne peuvent pas être obtenus directement via le statut étendu de mysqladmin ou afficher le statut global, mais ils sont très importants.
Percona fournit l'outil tcprstat pour mesurer le temps de réponse. Cette fonction est désactivée par défaut. Vous pouvez activer cette fonction en définissant le paramètre query_response_time_stats=1.
Il existe deux façons de vérifier le temps de réponse :
(1) Afficher les statistiques de temps de réponse via la commande SHOW QUERY_RESPONSE_TIME ;
(2) Vue à travers la table QUERY_RESPONSE_TIME dans INFORMATION_SCHEMA.http://www.orczhou.com/index.php/2011/09/thanks-percona-response-time-distribution/comment-page-1/ (article de référence)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!