Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 Re : Optimisation » Disque saturé en écriture avec PosgresQL 8.4 et 2PC » 08/06/2012 01:14:44
Est-ce une piste ?
Oui, c'est une piste sérieuse.
Est-il possible de modifier des paramètres afin de changer la taille des écritures ? Cela dépend peut-être de la taille des données mises en jeu dans les transactions j'imagine ?
Est-il possible de déplacer ce répertoire dans une autre partition ?
Oui. Pour cela, vous devez arrêter PostgreSQL, déplacer le répertoire, créer un lien symbolique du répertoire des données vers le nouveau emplacement, puis redémarrer PostgreSQL. Pas sûr que cela suffise à corriger vos problèmes, mais cela vaut le coup d'essayer.
Vous parlez du répertoire pg_twophase ou bien de toutes les données ?
Nous avons évoqué également en interne la possibilité d'utiliser un ramdisk pour les données des transactions. Nous sommes plus intéressés par la consistance des données lors de la transactions que par la possibilité de recovery des transactions en cours en cas de crash. Est-ce envisageable ou bien une hérésie ?
Merci pour vos réponses en tout cas !
#2 Optimisation » Disque saturé en écriture avec PosgresQL 8.4 et 2PC » 07/06/2012 16:56:57
- huguespisapia
- Réponses : 4
Bonjour,
Nous rencontrons en ce moment de gros volumes en écriture sur nos disques, amenant à une quasi saturation. Nous utilisons PG 8.4 (Ubuntu 10.04). L'application Java/J2E au dessus exécute des PREPARED TRANSACTIONS car elle exécute des transactions sur plusieurs bases de données en faisant des 2-phase commit. Et les écritures dans la base de données ne justifient pas les débits d'écriture que nous observons.
Le profil des écritures semble assez particulier car iostat nous indique que les requêtes d'écriture sont presque tout le temps de 8KB.
Nous avons désactivé le "synchronous_commit" dans postgresql.conf en incriminant les Write-Ahead Logs, mais cela n'a pas porté ses fruits (synchronous_commit = off).
Une partie des problèmes d'écriture semblait provenir de la bibliothèque que nous utilisons pour gérer les transactions (Java - Atomikos) qui écrit des fichiers. Nous l'avons mise à jour et avons déplacé le répertoire sur une partition séparée.
Cependant, ce profil d'écriture semble continuer sur la partition hébergeant le répertoire de PG. En regardant les écritures dans les différents répertoires, nous nous sommes aperçu que postgres écrivait régulièrement des fichiers avec une taille multiple de 8KB dans le répertoire pg_twophase. Est-ce une piste ? Est-il possible de déplacer ce répertoire dans une autre partition ?
Merci d'avance pour vos conseil,
Hugues
Pages : 1