El dimecres 2 de juliol de 2014 1:01:32 UTC+2, Albert Cervera i Areny va
escriure:

    2014-07-01 19:32 GMT+02:00 Andres Vargas - zodman <[email protected]

    >    instala el http://pgfouine.projects.pgfoundry.org/
    >    <http://pgfouine.projects.pgfoundry.org/>

    >    pgfouine te da mucha informacion acerca de lo que esta haciendo
    >    postgresql, se me hace raro que con una maquina grande ( tienes
    >    16Gb de ram)

     >   Checa tmb la velocidad de respuesta.... tmb puede ser problemas
        de DNS o de velocidad de red, conflictos de red.
          si tienes acceso directo a la maquina con el trytond. crea una
        mini red para ver cual es el problema


        Asi como como todos tratan de buscarle solucion tambien comparte
        tus hallasgos ...

        buscame en el irc de #tryton-es


    Creo que es casi imposible que la culpa sea de PostgreSQL. Muy
    probablemente sea o bien de algún campo calculado poco optimizado o
    bien de algun "depends" de algún campo inecesario o que se debería
    intentar evitar.

    La forma más fácil para encontrar el origen del problema es ir
    quitando campos de la vista tree para ver qué campo (o qué campos)
    son los que generan el problema de rendimiento. Y a partir de ahí o
    bien quitar definitivamente esos campos o bien optimizar el código..

Cómo siempre Albert tenia la razón. El problema viene por el campo work, que tiene un depends con el campo work_domain, que se calcula para cada registro.

He subido un PR [1] con una propuesta de mejora en que se elimina el work_domain del depends para que no se cargue en la vista de lista y se añade el campo en la vista de formulario para cargar correctamente el domain.

He hecho varias pruebas y he conseguido mejorar el rendimiento de 4 segundos a 0.1 segundo.

Saludos,

[1] https://bitbucket.org/zikzakmedia/trytond-project_helpdesk/pull-request/1/dont-load-work_domain-field-on-tree-view/diff

--
Sergi Almacellas Abellana
www.koolpi.com
Twitter: @pokoli_srk

Responder a