PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Augmenter les performances d'un serveur PostgreSQL

Technique - optimisation | Augmenter les performances d'un serveur PostgreSQL

Par hlepesant le 07/02/2006 - 16:42

Bonjour,

J'ai monté pour ma boite un serveur SyslogNG afin de stocker les logs dans une base de donnée.
J'ai choisi PostgreSQL comme serveur de base de données.

La machine HP DL 380 Intel Xéon 3.0Ghz HT activé, 1Go de RAM
L'OS est FreeBSD 5.4.p10
et le PostreSQL un 8.0.6 compilé à partir des ports

Les syslogs sont "traduits" en requètes SQL par le SyslogNG dans des fichiers.
Et toutes les 5 minutes un script shell envoie ces fichiers dans la base de données.

Devant le succès de ce serveur syslog (et surtout de l'interface Web pour consulter ces logs), les admins réseaux redirigent les logs de plus en plus d'équipement vers ce serveur, et j'observe une augmentation significative du temps de traitement de ce fichier SQL.

Quand j'exécute le script shell à la main, ça met un temps fou alors que le nomnre d'INSERT ne me semble pas exeptionnel. (2370 lignes traitées en 45 secondes)

Comment puis-je diminuer ce temps de traitement ?

Merci de votre aide,
Hugues

PS: Le T-shirt acheté sur le salon LinuxExpo 2006 fait des jaloux ici :)

Options d'affichage des commentaires

Sélectionnez la méthode d'affichage des commentaires que vous préférez, puis cliquez sur "Sauvegarder les paramètres" pour activer vos changements.

Bonjour, L'utilisation de

SAS/ = 8 FĂ©vrier, 2006 - 16:05

Bonjour,

L'utilisation de la commande COPY à partir d'un fchier de données dans un format proche de CSV permet d'accélérer considérablement les insertions massives.

Vous pouvez également regarder du côté des index. S'ils sont nombreux sur la table, les insertions les modifiant, cela va ralentir les traitements.

Il peut alors être judicieux de les supprimer et de les recréer en fin de traitement.

Concernant les t-shirts, n'hésitez pas à nous passer commande. Nous en avons encore en stock.

Stéphane Schildknecht


Une autre piste begin ins

sparky/ = 9 FĂ©vrier, 2006 - 10:57

Une autre piste

begin
insert (...)

commit

devrait raccourcir le temps de traitement mais moins que l'utilisation de copy.


Ok merci des pistes. MĂŞme s

hlepesant/ = 20 FĂ©vrier, 2006 - 13:59

Ok merci des pistes.
MĂŞme si je pense que dans le cas d'un syslogNG l'utiilisation de copy me semble difficile.
Par contre les transactions c'est jouables.

a+
hug


© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.