Maison >Tutoriel système >Linux >Explication détaillée des indicateurs de performance MySQL et des méthodes de calcul

Explication détaillée des indicateurs de performance MySQL et des méthodes de calcul

王林
王林avant
2024-03-10 21:07:46407parcourir

La grande majorité des métriques de performances MySQL peuvent être obtenues des deux manières suivantes :

Explication détaillée des indicateurs de performance MySQL et des méthodes de calcul

mysqladmin

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.

Explication détaillée des indicateurs de performance MySQL et des méthodes de calcul

Explication détaillée des indicateurs de performance MySQL et des méthodes de calcul

Afficher le statut global

Peut répertorier diverses valeurs d'état du serveur MySQL en cours d'exécution, valeur cumulée.

Explication détaillée des indicateurs de performance MySQL et des méthodes de calcul

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 :

1.tps/qps

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

2. Statut du fil threads_running : le nombre de threads actuellement actifs

threads_connected : Le nombre de threads actuellement connectés

3. État du trafic Bytes_received/s : nombre moyen d'octets reçus de tous les clients par seconde, unité Ko

Bytes_sent/s : nombre moyen d'octets envoyés à tous les clients par seconde, unité Ko

4. Nombre de lectures et d'écritures de fichiers innodb innodb_data_reads : le nombre moyen de fois qu'innodb lit le fichier par seconde

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

5. innodb lire et écrire le volume

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

6. Statut du pool tampon innodb

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

7. journal innodb

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

8.ligne innodb

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

9. Temps de lecture et d'écriture MyISAM

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

10. Pool de tampons MyISAM

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

11.Tableau temporaire

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

12.Autres

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.

13. temps de réponse : temps de réponse

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)

14. Délai esclave : Délai esclave
Vous pouvez exécuter la commande show slave statusG sur le nœud esclave. La valeur de l'élément Seconds_Behind_Master est le délai actuel de l'esclave, en secondes.

Explication détaillée des indicateurs de performance MySQL et des méthodes de calcul

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer