Bonjour tout le monde
J'ai un ralentissement très bizarre sur une base de données… besoin d'idées.
C'est un serveur Odoo 10 et Postgresql 10 sur Ubuntu 18.04 dans un VPS assez gros (8 coeurs, 16 Go de Ram). Le VPS était sous VMWare, l'hébergeur l'a déplacé sur un autre VMWare. Le déplacement a été fait en copiant le système de fichiers, pas en déplaçant ou copiant l'image disque. Migration à froid donc. On a aussi changé d'IP.
Depuis il y a un très gros ralentissement dès que l'ERP Odoo a besoin d'ouvrir des articles: Odoo gère aussi le site ecommerce, et une page web d'article met près de 5 secondes à s'afficher, en backend la moindre recherche dans les articles (ou dans les lignes de commandes) prend de 30 à 120 secondes. Les autres pages du site (blog, à propos, accueil, …) et les autres menus de gestion ont un temps de réponse normaux. Il y a très peu d'articles, environ 4000 avec les variantes.
J'ai tout examiné, il y a eu d'autres petits problèmes, mais sur Postgresql on ne trouve rien, c'est clean. Et c'est la panne sèche aux idées. Des pistes quelqu'un ?
# quelques pistes
Posté par totof2000 . Évalué à 4 (+2/-0).
[^] # Re: quelques pistes
Posté par totof2000 . Évalué à 3 (+1/-0).
Ah .. je me rappelle aussi d'une commande passée régulièrement pour réorganiser les tables, mais je ne sais plus si c'est une commande intégrée à postgres ou si elle avait été développée pour le cas spcifique de l'application. C'est loin donc je ne me rappelle plus, et je n'ai plus accès au serveur, donc je ne peux pas donner plus de détails : d'autres pourront confirmer. Sinon voir la log des diverses couches pour voir ce que ça retourne (BDD, application, etc ..).
[^] # Re: quelques pistes
Posté par BAud (site web personnel) . Évalué à 3 (+1/-0).
https://reorg.github.io/pg_repack/ ?
remove bloat from tables and indexes, and optionally restore the physical order of clustered indexes. Unlike CLUSTER and VACUUM FULL it works online, without holding an exclusive lock on the processed tables during processing. pg_repack is efficient to boot, with performance comparable to using CLUSTER directly.
faut trouver les bonnes options ;-)
[^] # Re: quelques pistes
Posté par orfenor . Évalué à 2 (+0/-0).
Merci de ta réponse.
1. Les disques sont un peu plus lents en effet
2. L'utilitaire vacuumdb en mode analyse n'a rien trouvé. C'est une toute petite base par rapport aux capacités de Postgres.
Ce qui me laisse à court d'idées — sauf des idées ésotériques — c'est le ralentissement aussitôt après la migration et qui semble lié a une seule table (la base Odoo en contient des centaines).
# Les index
Posté par guitou . Évalué à 1 (+0/-0).
Hello,
A verifier a tout hasard, possible qu'il aient ete corrompus pour une raison x ou y, et que l'optimiseur de requete les zappe.
Sinon, plus globalement, pour avoir une petite idee de ce qui peche, il faut d'abord identifier la (ou les) requete(s) problematique(s), puis tu peux les rejouer avec
explain
/analyze
pour identifier ce qui cause le ralentissement.++
Gi)
# Pg_activity pour investiguer, mais pas que.
Posté par xandercagexxx . Évalué à 1 (+0/-0).
Je peux te conseiller d'utiliser cet outil pour investiguer les requêtes longues https://github.com/dalibo/pg_activity
Autres outils pratique : https://www.postgresql.org/docs/current/pgstatstatements.html
(À activer dans postgresql.conf avec restart de postgres)
Enfin, peut-être revoir les config de ton postgres avec https://pgtune.leopard.in.ua/
(Peut-être une meilleure optimisation à faire sur la nouvelle machine).
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.