Pourquoi Odoo être lent quand il est énorme de données à l'intérieur de la base de données
Nous avons observé un problème dans Postgresql, car elle n'utilise pas multi core de CPU pour une seule requête. Par exemple, j'ai 8 cœurs du processeur. Nous sommes 40 Millions d'entrées en stock.déplacer la table. Lorsque nous appliquons énorme requête dans la base de données unique de connexion pour générer des rapports & observer au backend côté, nous voyons un seul core est utilisé à 100%, où, comme tous les 7 autres sont libres. Grâce à ce que l'exécution de la requête prend donc plus de temps et de notre odoo système lent. Alors que le problème est à l'intérieur de postgresql base. Si, par ellipse, on peut partager une requête entre deux ou plus de cœurs que nous pouvons obtenir gain de performances dans postgresql exécution de la requête.
J'en suis sûr, par la résolution d'exécution parallèle de requêtes, nous pouvons faire Odoo performance encore plus vite. Quelqu'un a toute sorte de suggestions au sujet de cette ??
----------- * L'édition de cette question pour vous montrer réponse de Postgresql comité central *---------
Ici je vous poste la réponse que j'ai reçu de l'un de top contributeur de base de données Postgresql. ( J'espère que cette information sera utile)
Bonjour Hiren',
Il devrait se comporter. PostgreSQL ne prend pas en charge parallèle CPU pour
seule requête. Cette rubrique est sous haute de développement, et, probablement, à cette
de la fonctionnalité dans la version planifiée de 9,6 ~ septembre 2016. Mais la table
avec 40M de lignes n'est pas trop grande, donc probablement plus de CPU ne doit pas trop aider
pour vous (il y a une surcharge de début et de traitement multi CPU
requête). Vous devez utiliser une habitude des astuces comme la vue matérialisée,
preagregations, ... l'idée principale de ces trucs - n'essayez pas de
répétez souvent même calcul. De vérifier la santé de PostgreSQL - index,
traitement sous vide, statistiques,.. Vérifiez hw - vitesse de IO. Vérifier
Configuration de PostgreSQL - shared_buffers, work_mem. Certaines requêtes peuvent
être lent en raison de mauvaises estimations de l' - vérifier expliquer de requêtes lentes. Il y
sont quelques-uns des outils qui peuvent les sauts de certains requête à plus de requêtes et de commencer à
l'exécution en parallèle, mais je n'ai pas l'utiliser. https://launchpad.net/stado
http://www.pgpool.net/docs/latest/tutorial-en.html#parallelCe Qui Concerne Pavel Stehule
OriginalL'auteur Emipro Technologies Pvt. Ltd. | 2015-07-02
Vous devez vous connecter pour publier un commentaire.
Bien, je pense que vous avez votre réponse -- PostgreSQL ne prend pas actuellement en charge de requêtes en parallèle encore. Le conseil général la voie de la performance est très juste, et vous pourriez aussi envisager de partitionnement, qui peut vous permettre de tronquer les partitions au lieu de supprimer des parties d'un tableau, ou l'augmentation de l'allocation de la mémoire. Il est impossible de donner de bons conseils sur ce sans en savoir plus à propos de la requête.
Ayant eu de l'expérience avec ce genre de question sur la non-requête parallèle systèmes Oracle, je vous propose d'examiner ce que le matériel que vous utilisez.
La tendance moderne vers les Processeurs avec de très nombreux noyaux est d'une grande aide pour les serveurs web ou d'autres multi-processus, des systèmes avec beaucoup de courte durée des transactions, mais vous avez un système de traitement de données avec quelques, de grandes transactions. Vous avez besoin de matériel adapté. Les processeurs avec de moins en moins, de plus en plus puissants que les cœurs sont un meilleur choix, et vous devez payer attention à la bande passante de la mémoire et de stockage.
C'est pourquoi les systèmes d'ingénierie ont été très populaires avec des big data et de l'entreposage de données.
avez-vous des tutoriel vous proposer ?
Privé de compétences pour configurer la connexion au serveur snippetbucket.com pour de l'aide.
OriginalL'auteur David Aldridge