IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

Débuter avec Pgbench


Sujet :

PostgreSQL

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    893
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 893
    Par défaut Débuter avec Pgbench
    bonjour,

    Je suis perdu pour utiliser pgbench ?
    On trouve des tuto, mais c'est des lignes de commandes et souvent c'est pour des install sur Linux

    Je ne connais que Pgadmin, j'ai ouvert l'outil PSQL et je tape pgbench -i nom_base, pour créér les tables, mais il ne se passe rien ?


    Cordialement

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 070
    Par défaut
    Bonjour,

    pgbench est un utilitaire qui se lance en ligne de commande, pour faire notamment des tests de charge sur une instance PostgreSQL.
    Est-ce bien ce que vous voulez faire ?
    Par ailleurs, sous quel OS êtes-vous ? Et votre serveur PostgreSQL ?

    Sans ces différents éléments contextuels, c'est délicat de vous aider.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    893
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 893
    Par défaut Info
    Bonjour,

    Oui , c'est bien ce que je veux faire: charger le serveur pour voir comment il répond.
    J'ai modifié la config de base en suivant Pgtune.

    Je travaille avec PostgreSQL 15 sur un serveur windows
    C'est une VM hyper-V avec 4 proc virtuel et 16 giga de ram

    Les stations de travail sont windows10/11

    Au niveau type d'utilisation:
    - 5 bases de donnée
    - 40/50 connections simultanés
    - essentiellement des petites requêtes SELECT tout au long de la journée + parfois quelques requêtes SELECT plus conséquentes
    - quelques requêtes INSERT ou UPDATE tout au long de la journée: c'est pas critique au niveau des écritures.


    Cordialement

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 070
    Par défaut
    OK, on va partir du principe que vous lancez pgbench depuis le serveur...
    Normalement, pgbench devrait être dans C:\Program Files\PostgreSQL15\bin (je n'utilise pas PostgreSQL sous Windows, donc c'est peut-être à adapter).

    Il faut donc, dans une invite de commandes, se placer dans ce répertoire, puis initialiser la base sur laquelle vont porter les tests :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pgbench.exe -i -s 100 -h localhost -U postgres nom_base
    Cette étape prépare les tables de test avec les données nécessaires. La quantité de données qu'elles contiennent est proportionnelle à la valeur indiquée derrière le paramètre -s et donc à adapter en fonction de la volumétrie que vous voulez tester.

    Pour lancer un test, toujours de l'invite de commandes, il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pgbench.exe -c 10 -T 30 -h localhost -U postgres nom_base
    Ici, on simule 10 clients concurrents (-c 10) pendant une durée de 30 secondes (-T 30).

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    893
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 893
    Par défaut ca marche
    Bonjour,

    Ca fonctionne super bien !
    Il fallait se mettre sur le serveur et pas sur Pgadmin

    Je vais maintenant affiner les réglages et voir comment interpréter les résultats.
    Je suis à 2200 tps, je ne sais pas ce que cela représente

    Merci beaucoup

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 259
    Par défaut
    Pour info, tps = transaction par secondes

  7. #7
    Membre Expert
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    1 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 1 015
    Par défaut
    Citation Envoyé par looping Voir le message
    Au niveau type d'utilisation:
    - 5 bases de donnée
    - 40/50 connections simultanés
    Point d'attention : une base de données n'est pas un schéma.

    Sous Pg c'est la distinction technique est bien implémentée ; c'est clairement pas la même confusion que sous MySQL.

    Cependant la différence opérationnelle reste ténue. Faute à la restauration.
    On peut restaurer toutes les bases (attention de ne pas avoir oublié le pghba.conf) ; On peut restaurer toutes les bases en PITR
    On peut restaurer 1 base ; On NE peut PAS restaurer qu'UNE base en PITR
    On peut exporter/importer des bases, schéma et objets ; mais pas en PITR

    Généralement il est choisi de créer une instance par base utilisateur dès que le PITR est jugé utile.
    Le savoir est une nourriture qui exige des efforts.

Discussions similaires

  1. requete avec OBCD et visual c++
    Par Anonymous dans le forum MFC
    Réponses: 12
    Dernier message: 18/11/2004, 16h15
  2. [langage] Comparer Perl avec d'autres langages comme C ?
    Par Anonymous dans le forum Langage
    Réponses: 3
    Dernier message: 10/08/2002, 23h52
  3. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10
  4. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo