1 pièce(s) jointe(s)
Optimiser la config pour mettre plus de chose en RAM ?
bonjour/bonsoir,
Je recherche une optimisation miracle avant un changement de matériel plus puissant.
Je voudrais savoir quel paramètre modifier dans la config de postgresql (8.1) pour qu'il consomme plus de mémoire et fasse moins d'accès disque.
En fait j'ai une grosse requête de cette forme :
Code:
1 2 3
| select id from sale_order_line
where state in ('confirmed','confir_wait','manquant')
and (id in (1,2,3....30000)) |
je n'ai pas écrit la requête entière car c'est impossible ici (elle fait 170Ko dans une fichier texte) mais la partie finale contenant la clause 'ID IN' contient 30000 énumérations (oui je ne plaisante pas).
Le traitement prend 16s, le cpu tourne à 100% et seulement 5% de la mémoire est utilisée). J'ai relevé ces valeurs via la commande TOP sous linux.
donc voilà j'aimerais changer quelques truc dans la config (de base) pour booster cela. Si quelqu'un a une solution miracle (autre que la réécriture du code sql car je n'ai pas la main dessus (c'est un erp)).
merci de votre aide.
infos hardware : pg tourne dans une VM debian etch4, installée sur une machine avec cpu core i7 2.8Ghz, 2Go de RAM accordée à la vm et 2 cores). La VM (fichier 10Go) est sur un ssd bas de gamme.. Pg est installé par défaut, seul le max_stack_deph a été changé et porté à 8096 sinon la requête ne fonctionne pas.