Bienvenue sur PostGIS.fr

Bienvenue sur PostGIS.fr , le site de la communauté des utilisateurs francophones de PostGIS.

PostGIS ajoute le support d'objets géographique à la base de données PostgreSQL. En effet, PostGIS "spatialise" le serverur PostgreSQL, ce qui permet de l'utiliser comme une base de données SIG.

Maintenu à jour, en fonction de nos disponibilités et des diverses sorties des outils que nous testons, nous vous proposons l'ensemble de nos travaux publiés en langue française.


Ignore:
Timestamp:
17/03/2012 00:49:40 (12 years ago)
Author:
thomasg
Message:

Fin correction typo et orthographe V2 du document

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/workshop-foss4g/tuning.rst

    r50 r62  
    44================================================= 
    55 
    6 PostgreSQL est une base de données trÚs versatile, capable de tourner dans des environnements ayant des ressources trÚs limités et partageant ces ressources avec un grand nombre d'autres applications. Afin d'assurer qu'il tournera convenablement dans ces environnements, la configuration par défaut est trÚs peu consomatrice de ressource mais terriblement innadapaté pour des bases de données hautes-performances en production. Ajoutez à cela le fait que les base de données spatiales ont différent type d'utilisation, et que les données sont généralement plus grandes que les autres types de données, vous en arriverez à la conclusion que les parÚtres par défaut ne sont pas approprié pour notre utilisasion. 
     6PostgreSQL est une base de données trÚs versatile, capable de tourner dans des environnements ayant des ressources trÚs limitées et partageant ces ressources avec un grand nombre d'autres applications. Afin d'assurer qu'elle tournera convenablement dans ces environnements, la configuration par défaut est trÚs peu consommatrice de ressources mais terriblement inadaptée pour des bases de données hautes-performances en production. Ajoutez à cela le fait que les bases de données spatiales ont différents types d'utilisation, et que les données sont généralement plus grandes que les autres types de données, vous en arriverez à la conclusion que les paramÚtres par défaut ne sont pas appropriés pour notre utilisation. 
    77 
    8 Tout ces paramÚtres de configuration peuvent être édités dans le fichier de configuration de la base de données : :file:`C:\\Documents and Settings\\%USER\\.opengeo\\pgdata\\%USER`.  Le contenu du fichier est du texte et il peut donc être ouvert avec l'outils d'édition de fichiers de votre choix (Notepad par exemple). Les modifications apportées à ce fichier ne seront effectives que lors du redémarrage du serveur. 
     8Tous ces paramÚtres de configuration peuvent être édités dans le fichier de configuration de la base de données : :file:`C:\\Documents and Settings\\%USER\\.opengeo\\pgdata\\%USER`.  Le contenu du fichier est du texte et il peut donc être ouvert avec l'outil d'édition de fichiers de votre choix (Notepad par exemple). Les modifications apportées à ce fichier ne seront effectives que lors du redémarrage du serveur. 
    99 
    1010.. image:: ./tuning/conf01.png 
    1111 
    12 Une façon simple d'éditer ce fichier de configuration est d'utiliser l'outils nommé : "Backend Configuration Editor".  Depuis pgAdmin, allez dans *File > Open postgresql.conf...*. Il vous sera demandé le chemin du fichier, naviguez dans votre arborescence jusqu'au fichier :file:`C:\\Documents and Settings\\%USER\\.opengeo\\pgdata\\%USER`. 
     12Une façon simple d'éditer ce fichier de configuration est d'utiliser l'outil nommé : "Backend Configuration Editor".  Depuis pgAdmin, allez dans *File > Open postgresql.conf...*. Il vous sera demandé le chemin du fichier, naviguez dans votre arborescence jusqu'au fichier :file:`C:\\Documents and Settings\\%USER\\.opengeo\\pgdata\\%USER`. 
    1313 
    1414.. image:: ./tuning/conf02.png 
     
    1616.. image:: ./tuning/conf03.png 
    1717 
    18 Cette partie décrit certains des paramÚtres de configuration qui doivent être modifiés pour la mise ne place d'une base de données spatiale en production. Pour chaque partie, trouvez le bon paramÚtres dans la liste et double cliquez dessus pour l'éditer. Changez le champs *Value* par la valeur que nous recommendons, assurez-vous que le champs est bien activé pui cliquez sur **OK**. 
     18Cette partie décrit certains des paramÚtres de configuration qui doivent être modifiés pour la mise ne place d'une base de données spatiale en production. Pour chaque partie, trouvez le bon paramÚtre dans la liste et double cliquez dessus pour l'éditer. Changez le champ *Value* par la valeur que nous recommandons, assurez-vous que le champ est bien activé puis cliquez sur **OK**. 
    1919 
    20 .. note:: Ces valeurs sont seulement celles que nous recommendons, chaque environnement differera et tester les différents paramétrages est toujours nécessaire pour s'assurer d'utiliser la configuration optimale. Mais dans cette partie nous vous fournissons un bon point de départ. 
     20.. note:: Ces valeurs sont seulement celles que nous recommandons, chaque environnement diffÚrera et tester les différents paramétrages est toujours nécessaire pour s'assurer d'utiliser la configuration optimale. Mais dans cette partie nous vous fournissons un bon point de départ. 
    2121 
    2222shared_buffers 
    2323-------------- 
    2424 
    25 Alloue la quantité de mémoire que le serveur de bases de données utilise pour ses segments de mémoires partagées. Cela est partagé par tout les processus serveur, comme sont nom l'indique. La valeur par défaut est affligeante et inadaptée pour une base de données en production. 
     25Alloue la quantité de mémoire que le serveur de bases de données utilise pour ses segments de mémoires partagées. Cela est partagé par tous les processus serveur, comme son nom l'indique. La valeur par défaut est affligeante et inadaptée pour une base de données en production. 
    2626 
    2727  *Valeur par défaut* : typiquement 32MB 
     
    3434-------- 
    3535 
    36 Définit la quantité de mémoire que les opération interne d'ordonnancement et les tables de hachages peuvent consommer avec le serveur passe à des fichiers sur le disque. Cette valeur définit la mémoire disponible pour chaque opération complexe, les requêtes complexes peuvent avoir plusieurs ordres ou opération de hachage tournant en parallÚle, et chaque client s connecté peut exécuter une requête.  
     36Définit la quantité de mémoire que les opération internes d'ordonnancement et les tables de hachages peuvent consommer avec le serveur sur le disque. Cette valeur définit la mémoire disponible pour chaque opération complexe, les requêtes complexes peuvent avoir plusieurs ordres ou opération de hachage tournant en parallÚle, et chaque client connecté peut exécuter une requête. 
    3737 
    38 Vous devez donc considérer combient de connexions et quel complexité est attendu dans les requêtes avant d'augmenter cette valeur. Le bénéfice acquis par l'augmentation de cette valeur est que la plupart des opération de classification,dont les clause ORDER BY et DISTINCT, les jointures, les agrégation basé sur les hachages et l'exécution de requête imbriquées, pourront être réalisé sans avoir à passer par un stockage sur disque. 
     38Vous devez donc considérer combien de connexions et quelle complexité est attendue dans les requêtes avant d'augmenter cette valeur. Le bénéfice acquis par l'augmentation de cette valeur est que la plupart des opération de classification, dont les clause ORDER BY et DISTINCT, les jointures, les agrégation basées sur les hachages et l'exécution de requête imbriquées, pourront être réalisées sans avoir à passer par un stockage sur disque. 
    3939 
    4040  *Valeur par défaut* : 1MB 
     
    4747-------------------- 
    4848 
    49 Définit la quantité de mémoire utilisé pour les opération de maintenances, dont le néttoyage (VACUUM), les indexes et la création de clef étrangÚres. Comme ces opération sont courremment utilisées, la valeur par défaut devrait être acceptable. Ce paramÚtre peut être augmenté dynamiquement à l'exécution depuis une connexion au serveur avant l'exécution d'un grand nombre d'appels à :command:`CREATE INDEX` ou :command:`VACUUM` comme le montre la commande suivante. 
     49Définit la quantité de mémoire utilisée pour les opération de maintenance, dont le nettoyage (VACUUM), les index et la création de clefs étrangÚres. Comme ces opération sont couramment utilisées, la valeur par défaut devrait être acceptable. Ce paramÚtre peut être augmenté dynamiquement à l'exécution depuis une connexion au serveur avant l'exécution d'un grand nombre d'appels à :command:`CREATE INDEX` ou :command:`VACUUM` comme le montre la commande suivante. 
    5050 
    5151  .. code-block:: sql 
     
    5757  *Valeur par défaut* : 16MB 
    5858 
    59   *Valeur recommendée* : 128MB 
     59  *Valeur recommandée* : 128MB 
    6060 
    6161.. image:: ./tuning/conf06.png 
     
    6464----------- 
    6565 
    66 Définit la quantité de mémoire utilisé pour l'écriture des données dans le journal respectant la rÚgle du défaire (WAL). Elle indique que les informations pour annuler les effets d'une opération sur un objet doivent être écrites dans le journal en mémoire stable avant que l'objet modifié ne migre sur le disque. Cette rÚgle permet d'assurer l'intégrité des données lors d'une reprise aprÚs défaillance. En effet,il suffiré de lire le journal pour retrouver l'état de la base lors de sont arrêt brutal.  
     66Définit la quantité de mémoire utilisée pour l'écriture des données dans le journal respectant la rÚgle du defer (WAL). Elle indique que les informations pour annuler les effets d'une opération sur un objet doivent être écrites dans le journal en mémoire stable avant que l'objet modifié ne migre sur le disque. Cette rÚgle permet d'assurer l'intégrité des données lors d'une reprise aprÚs défaillance. En effet, il suffira de lire le journal pour retrouver l'état de la base lors de son arrêt brutal. 
    6767 
    68 La taille de ce tampon nécessite simplement d'être suffisament grand pour stoquer les données WAL pour une seule transaction. Alors que la valeur par défaut est généralement siffisante, les données spatiales tendent à être plus large. Il est donc recommendé d'augmenter la taille spécifiée dans ce paramÚtre. 
     68La taille de ce tampon nécessite simplement d'être suffisament grand pour stocker les données WAL pour une seule transaction. Alors que la valeur par défaut est généralement suffisante, les données spatiales tendent à être plus larges. Il est donc recommandé d'augmenter la taille spécifiée dans ce paramÚtre. 
    6969 
    7070  *Valeur par défaut* : 64kB 
    7171 
    72   *Valeur recommendée* : 1MB 
     72  *Valeur recommandée* : 1MB 
    7373 
    7474.. image:: ./tuning/conf07.png 
     
    7777------------------- 
    7878 
    79 Cette valeur définit le nombre maximum de segements des journaux (typiquement 16MB) qui doit être remplit entre chaque point de reprises WAL. Un point de reprise WAL est une partie d'une séquence de transactions pour lequel on garanti que les fichiers de données ont été mis à jour avec toutes les requêtes précédent ce point. À ce moment-là toutes les pages sont punaisées sur le disque et les point de reprises sont écrit dans le fichier de journal. Cela permet au precessus de reprise aprÚs défaillance de trouver les dernierspoints de reprises et applique toute les lignes suivantes pour récupérer l'état des données avant la défaillance. 
     79Cette valeur définit le nombre maximum de segments des journaux (typiquement 16MB) qui doit être remplit entre chaque point de reprise WAL. Un point de reprise WAL est une partie d'une séquence de transactions pour lequel on garantit que les fichiers de données ont été mis à jour avec toutes les requêtes précédant ce point. À ce moment-là toutes les pages sont punaisées sur le disque et les points de reprise sont écrits dans le fichier de journal. Cela permet au processus de reprise aprÚs défaillance de trouver les derniers points de reprise et applique toute les lignes suivantes pour récupérer l'état des données avant la défaillance. 
    8080 
    81 Ã‰tant donnée que les point de reprises nécessitent un punaisage de toutes le pages ayant été modifiée sur le disque, cela va créer une charge d'entrées/sorties significative. Le même arguement que précédemment s'applique ici, les données spatiales sont assez grandes pour contrebalancer l'optimisation de données non spatiales. Augmenter cette valeur limitera le nombre de points de reprise, mais impliquera un plus redémarrage en cas de défaillance. 
     81Étant donné que les points de reprise nécessitent un punaisage de toutes le pages ayant été modifiées sur le disque, cela va créer une charge d'entrées/sorties significative. Le même argument que précédemment s'applique ici, les données spatiales sont assez grandes pour contrebalancer l'optimisation de données non spatiales. Augmenter cette valeur limitera le nombre de points de reprise, mais impliquera un redémarrage plus lent en cas de défaillance. 
    8282 
    8383  *Valeur par défaut* : 3 
    8484 
    85   *Valauer recommendée* : 6 
     85  *Valeur recommandée* : 6 
    8686 
    8787.. image:: ./tuning/conf08.png 
     
    9090---------------- 
    9191 
    92 Cette valeur sans unité représente le coût d'accÚs alléatoire au page du disque. Cete valeur est relative au autres paramÚtres de coût notemment l'accÚs séquentiel au pages, et le coût des opération processeur. Bien qu'il n'y ai pas de valeur magique ici, la valeur par défaut est généralement trop faible. Cette valeur peut être affectée dynamiquement par session en utilisant la commande ``SET random_page_cost TO 2.0``. 
     92Cette valeur sans unité représente le coût d'accÚs aléatoire à une page du disque. Cette valeur est relative aux autres paramÚtres de coût notamment l'accÚs séquentiel aux pages, et le coût des opérations processeur. Bien qu'il n'y ait pas de valeur magique ici, la valeur par défaut est généralement trop faible. Cette valeur peut être affectée dynamiquement par session en utilisant la commande ``SET random_page_cost TO 2.0``. 
    9393 
    9494  *Valeur par défaut* : 4.0 
     
    9797 
    9898.. image:: ./tuning/conf09.png 
    99     
     99 
    100100seq_page_cost 
    101101------------- 
    102102 
    103 C'est une paramÚtre qui controle le coût des accÚs séquentiel au pages. Il n'est généralement pas nécessaire de modifier cette valeur maus la différence entre cette valeur et la valeurs ``random_page_cost`` affecte drastiquement le choix fait par le plannificateur de requêtes. Cette valeur peut aussi être affectée depuis une session. 
     103C'est une paramÚtre qui contrÃŽle le coût des accÚs séquentiels aux pages. Il n'est généralement pas nécessaire de modifier cette valeur mais la différence entre cette valeur et la valeur ``random_page_cost`` affecte drastiquement le choix fait par le planificateur de requêtes. Cette valeur peut aussi être affectée depuis une session. 
    104104 
    105105  *Valeur par défaut* : 1.0 
     
    112112-------------------------- 
    113113 
    114 AprÚs avoir réalisé ces changements mentioné dans cette partie sauvez-les puis rechargez la configuration. 
     114AprÚs avoir réalisé les changements mentionnés dans cette partie sauvez-les puis rechargez la configuration. 
    115115 
    116  * Ceci se fait en cliquant avec le bouton droit sur le nom du serveur (``PostgreSQL 8.4 on localhost:54321``) depuis pgAdmin, selectionnez *Disconnect*.  
    117  * Cliquez sur le bouton *Shutdown* depuis le Dashboard OpenGeo, puis cliquez sur *Start*.  
     116 * Ceci se fait en cliquant avec le bouton droit sur le nom du serveur (``PostgreSQL 8.4 on localhost:54321``) depuis pgAdmin, selectionnez *Disconnect*. 
     117 * Cliquez sur le bouton *Shutdown* depuis le Dashboard OpenGeo, puis cliquez sur *Start*. 
    118118 * Pour finir reconnectez-vous au serveur depuis pgAdmin (cliquez avec le bouton droit sur le serveur puis sélectionnez *Connect*). 
    119   
    120   
    121   
     119 
Note: See TracChangeset for help on using the changeset viewer.