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

Comparaison des performances PostgreSQL/MySQL sur un forum

Technique - optimisation | Comparaison des performances PostgreSQL/MySQL sur un forum

Par Jonathan Ballet le 27/09/2005 - 17:09

Salut,

je possède un serveur sur lequel j'héberge un forum phpBB pour un ami.
Ce forum est un peu conséquent : 51000 posts, 3100 sujets, pour une base de donnée de 50mo. C'est pas _énorme_, mais bon ;)

Actuellement, le forum tourne sur une base de donnée MySQL 4.1.13, mais j'aimerais le faire passer sous PostgreSQL.
Mon serveur est un bi-p3 500Mhz, avec 384mo de Ram, sous Debian Sarge, et la version de PostgreSQL qui est installée est la 7.4.7.

J'ai donc recréer la base de données à partir des scripts de phpBB, et j'ai fais un script de transition, qui récupère les infos de MySQL et les envois dans PostgreSQL.

J'en arrive au problème qu'il se pose, à savoir les performances :/
A priori, les bases sont les mêmes (même schéma logiquement, même données), mais les performances sous PostgreSQL me laisse sur ma faim :
- sur le forum MySQL, en lancant l'utilitaire ab d'Apache (un robot pour ceux qui connaissent pas) sur la racine du forum, j'obtiens un temps de génération qui varie entre 1sec. et 2.5sec.
- sur le forum PostgreSQL, j'obtiens plutôt des temps entre 2sec. et 5sec. (avec des pointes à 7-8sec.)

J'ai encore de la marge au niveau ressource, mon load average est entre inférieur à 0.3 (sauf pendant les tests avec ab où c'est monté à 9 :D ), j'ai encore 100mo de ram non utilisé (hors buffers). Au niveau de PostgreSQL, j'ai bien fait des VACUUM et VACUUM ANALYSE avant mes tests.

Bref, j'attendais pas non plus un temps de réponse instantané, mais plus dans le même ordre entre les deux bases de données.

Je voulais savoir à quoi m'en tenir par rapport à ces tests : est-ce que, pour la charge et la taille de la base de données, il est normal de voir MySQL devant PostgreSQL ? Est-ce que j'ai des possibilités d'amélioration de perfs ?

Merci des infos que vous pourriez me donner :)

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 Vous pouvez interc

Christophe Chauvet/ = 28 Septembre, 2005 - 21:41

Bonjour

Vous pouvez intercepter les requêtes executés via phpBB, en modifiant le fichiers postgresql.conf en décommentant log_statement en mettant true, vous aurez ainsi dans /var/log/postgresql/postgres.log toutes les requêtes executés par le serveur, avec l'outil PQA vous avez la possibilté de lancer un analyse du fichier de log et ainsi déterminer les requêtes les plus exécutés.
Vous pourrez alors faire un EXPLAIN PLAN afin de vérifier si les index sont utilisés a bonnes escients.

Cordialement.

Christophe Chauvet.

P.S. Voici un exemple de ce qu'il est possible d'obtenir.


Bonjour, j'ai jeté un oei

Jonathan Ballet/ = 29 Septembre, 2005 - 15:47

Bonjour,

j'ai jeté un oeil à PQA, ça à l'air intéressant. J'ai pu récupérer les requêtes qui mettaient le plus de temps à s'exécuter et faire un EXPLAIN PLAN dessus. Il me reste plus qu'à regarder la doc pour voir à quoi correspond toutes les infos qui me sont retournées ;)

J'aurais bien posté la requête la plus et le Explain qui va avec, mais le formatage sera un peu illisible. Tant pis ;)

Merci en tout cas.


Attention pas défaut les PSQ

sparky/ = 29 Septembre, 2005 - 10:09

Attention pas défaut les PSQL 7.4 ne sont pas optimisé,

Il est impératif de le paramètrer, si on veut avoir de meilleures performances, secundo, faire tourner vacuumdb régulièrement (toutes les nuits max)

http://www.varlena.com/varlena/GeneralBits/Tidbits/perf.html


J'avais regardé déjà ce li

Jonathan Ballet/ = 29 Septembre, 2005 - 15:51

J'avais regardé déjà ce lien, mais j'ai pas trouvé grand chose de vraiment significatif :/ :
- les "basic parameters" étaient finalement bien adapté à ma "petite" config
- je n'ai pas pu essayé encore les autres paramètres
- concernant la machine/OS en question, c'est bon aussi (je suis en Reiserfs).

Sinon, j'ai lancé un vacuum + vacuum analyse juste avant de faire mes tests...

Merci :)


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