noticias / Desarrollador

Configuración de Koo para un máximo rendimiento

Configuración de Koo para máximo rendimiento

No hay nada nuevo en esta entrada del blog, pero será útil para cualquiera que quiera probar o implementar Koo.

Para hacer que Koo vuele, necesitarás dos módulos de servidor: pyro y koo. Veamos cómo se pueden instalar y cómo se deben configurar para obtener los mejores resultados.

Pyro

El módulo pyro es muy fácil de usar. Puedes descargarlo desde la ubicación habitual. Una vez que esté en tu servidor, solo necesitas instalarlo en una base de datos.

A partir de entonces, cada vez que inicies esa base de datos, el protocolo Pyro estará disponible en el puerto 8071.

Es importante tener en cuenta que debes iniciar el servidor con esa base de datos para que Pyro esté disponible. Necesitarás algo como esto:

bash ./openerp-server.py -d "database_with_pyro_installed"

De lo contrario, necesitarás iniciar sesión en la base de datos usando otro protocolo antes de que el servicio esté disponible.

Es posible cambiar el puerto en el que el módulo escucha añadiendo la siguiente línea al archivo de configuración del servidor OpenERP:

ini pyroport = 4500

Instalar este módulo y usarlo en Koo proporcionará por sí mismo un aumento significativo del rendimiento. Debes seleccionar el protocolo usando el botón Cambiar en el diálogo de inicio de sesión.

La mejora es especialmente notable en redes lentas, o más precisamente, redes con alta latencia, como ADSL o 3G.

También vale la pena usarlo en una LAN, incluso cuando no hay problemas aparentes de rendimiento, porque les da a los usuarios una sensación notable de inmediatez.

Koo

Al igual que pyro, el módulo koo se puede descargar desde la ubicación habitual.

Simplemente instalar el módulo, sin ninguna configuración adicional, ya proporciona beneficios a Koo.

En algunos casos, los usuarios pueden intentar ordenar una vista de lista usando un campo que no se puede ordenar, generalmente porque es un campo funcional que no existe en la base de datos.

Sin el módulo koo, Koo no tiene forma de saber esto de antemano y simplemente intentará ordenar la lista. Cuando recibe una excepción del servidor, la ignora e informa al usuario que el campo no se puede usar para ordenar.

El problema es que las versiones actuales de OpenERP pueden tardar mucho en devolver una excepción, lo que puede hacer que Koo sea inutilizable en algunas circunstancias.

Así que recuerda: como mínimo, instala el módulo si tienes la intención de usar el cliente Koo.

Otra ventaja que se obtiene simplemente instalando el módulo es el almacenamiento de la configuración de las vistas por usuario.

Esto significa que la siguiente información se almacena en el servidor y se restaura la próxima vez que el usuario abra la vista:

  • El orden y ancho de las columnas en las vistas de lista.
  • La última ubicación utilizada para abrir un archivo desde un campo binario.
  • Las cookies recibidas mientras se navega por la web a través de un campo web incrustado.

Sin embargo, esta entrada del blog trata sobre el rendimiento de Koo, así que veamos cómo se puede ajustar para que funcione mucho más rápido.

Necesitarás crear una nueva entrada en el diálogo de Configuración de Koo, ubicado en:

text Administration → Configuration → Koo → Settings

Koo Settings dialog

Diálogo de Configuración de Koo

Permitir almacenamiento en caché del cliente

Si te preocupa el rendimiento, probablemente quieras habilitar Permitir almacenamiento en caché del cliente.

Esto permite que Koo mantenga vistas, acciones y otra información en memoria, de modo que solo sea necesario consultar al servidor una vez.

Puedes configurar qué vistas no deben almacenarse en caché en:

text Administration → Configuration → Koo → View Cache Exceptions

Esto puede ser útil porque algunas vistas pueden ser alteradas por la entrada del usuario. Excluirlas de la caché evita que los usuarios tengan que seleccionar Usuario → Limpiar caché cada vez que realicen un cambio que afecte a la vista.

Este es el caso de la vista de socios, donde los usuarios pueden cambiar los títulos de empresa o contacto disponibles en:

text Partners → Configuration → Titles

La configuración adecuada depende de tus necesidades. Normalmente no añadimos ninguna excepción porque la mejora de rendimiento que proporcionan las vistas en caché es bastante significativa.

Límite

Otro ajuste que quizás quieras modificar es Límite.

Esto le dice a Koo cuántos registros debe cargar de una vez.

En algunos casos, por ejemplo, vistas de lista que contienen campos lentos de procesar, puedes ver una mejora al reducir este valor.

Sin embargo, el valor no debe ser menor que el número de filas que caben en la pantalla. De lo contrario, Koo hará dos llamadas al servidor cada vez que se abra una vista de lista, empeorando el problema en lugar de mejorarlo.

El valor predeterminado es 80.

Modo de ordenación

En algunos casos, es posible que desees establecer Modo de ordenación solo en elementos visibles.

Esto hace que Koo se comporte más como el cliente GTK, cargando solo el número de registros especificado por Límite, en lugar de poner todos los registros a disposición del usuario.

Nosotros nunca usamos esta configuración, y se pueden lograr muy buenos resultados con la opción predeterminada Todos los elementos.

Intervalo de actualización de solicitudes

En algunos casos, también puedes establecer Intervalo de actualización de solicitudes en 0.

Esto deshabilita las solicitudes que Koo hace para actualizar la información mostrada en la barra de estado.

Asignar configuraciones a roles

Una vez que hayas configurado todos los ajustes deseados, debes asignarlos a uno o más roles.

Esto es algo que probablemente mejoraremos en el futuro. Por ahora, recomiendo asignar la configuración a un solo rol y asignar ese rol al usuario.

Si creaste la configuración para tu propio usuario, necesitarás cerrar sesión y volver a iniciarla antes de que los cambios surtan efecto.

Espero que esto aclare cómo configurar Koo para un entorno de producción.