Comment savoir combien de requêtes par seconde ma base de données Postgres exécute?
postgresql
Konrad Garus
la source
la source
Réponses:
Utilisez cette requête pour lire le nombre total de transactions exécutées dans toutes les bases de données:
Si vous voulez le même compteur pour une seule base de données, utilisez:
Pour calculer le TPS (transactions par seconde), exécutez la requête plusieurs fois et calculez la différence sur l'intervalle de temps.
Il existe des outils prêts à l'emploi pour cela, l'un d'eux est http://bucardo.org/wiki/Check_postgres
Plus d'informations: http://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-DATABASE-VIEW
Mise à jour: Konrad a corrigé mon incompréhension de sa question. L'objectif était de compter les requêtes, pas les transactions.
Comment compter les requêtes?
Méthode 1
Utilisez pg_stat_statements contrib.
Méthode 2
Activez la journalisation complète des requêtes pendant une période représentative.
Pour activer la journalisation complète, pour PostgreSQL 9.0 - 9.3, modifiez les paramètres suivants dans
postgresql.conf
Si vous souhaitez voir également la durée de la requête, vous pouvez définir
log_min_duration_statement = 0
au lieu delog_statement = all
. Ceci est très utile pour l'optimisation des requêtes.Rechargez ensuite la configuration (redémarrage ou HUP) et collectez suffisamment de journal pour estimer le trafic.
Remarque: aucune des méthodes n'inclura de requêtes intégrées dans des fonctions définies par l'utilisateur.
la source