Mi Odoo va demasiado lento. ¿Qué puedo hacer?

Mejora el rendimiento de tu Odoo

Muchas veces nos encontramos ante sistemas cuyos tiempos de carga y de respuesta a las acciones que vamos realizando tardan demasiado y nos desesperan, lo cual hace que el uso de nuestro ERP sea muy frustrante y se aleje de nuestra búsqueda de la eficiencia. En este artículo te explicamos cómo reconocer si tu sistema es más lento de lo normal y necesita de actuación, cuáles son los problemas más comunes a los que nos podemos enfrentar y qué podemos hacer para paliar la situación.

¿Es mi Odoo más lento de lo que debería?

Para responder a esta pregunta, primero debemos saber qué acciones realiza Odoo. Es normal que al generar informes con un gran volumen de datos o al ejecutar acciones que involucren una creación o modificación de muchos registros, los tiempos de carga experimenten un repunte. También se debería monitorear la cantidad de usuarios simultáneos que acceden al sistema ya que un gran volumen de usuarios puede sobrecargar el sistema si no se encuentra debidamente preparado para ello. No obstante, cuando tenemos tiempos de esperas continuados en tareas sencillas que sobrepasan un par de segundos o se ejecutan acciones complejas que su tiempo de ejecución supera más allá de unos cuantos minutos, sí que deberemos pensar en tomar medidas y revisar si está todo correcto en nuestro sistema.

Analizando mi sistema: ¿Qué puede hacer que Odoo sea más lento?

Los problemas más comunes que nos podemos encontrar cuando analizamos nuestro sistema son los siguientes:

  • Muchos usuarios accediendo simultáneamente.
  • Problemas con nuestro host de la máquina, se producen microcortes constantes, bajo rendimiento...
  • Mala configuración de la máquina que aloja el sistema de Odoo.
  • Desarrollo personalizado con código ineficiente.
  • Consultas a la base de datos no optimizadas en nuestro código personalizado.
  • Ejecución de procesos críticos, como acciones planificadas o generación de informes con muchos registros y un gran volumen de datos, que generan cuellos de botella.
  • Versión de Odoo muy antigua. Una versión de Odoo muy baja puede generar problemas de rendimiento o de fiabilidad y no tiene el mismo mantenimiento por parte de la comunidad e incluso de seguridad que las versiones más recientes.
  • Gran cantidad de información albergada en la base de datos.

Cómo mejorar el rendimiento de Odoo

Una vez que hemos analizado todas las posibles causas que pueden ralentizar nuestro Odoo y hemos determinados cuáles son los puntos críticos donde debemos actuar, vamos a ver qué podemos hacer para solucionarlo:

  • Si tenemos muchos usuarios simultáneos, podemos aumentar el tamaño del servidor, desacoplar el sistema de la base de datos o balancear la carga entre 2 servidores.
  • Si nuestra máquina simplemente presenta un bajo rendimiento, debemos de pensar si con un reinicio se resuelve los problemas, si los servidores están caídos o contactar con nuestro proveedor de hosting.
  • Si al monitorear la máquina, observamos que se encuentra sobrepasando sus recursos, deberemos ampliar estos a la necesidad observada y posiblemente a la que estimamos que tendrá en un futuro próximo. Odoo ofrece unas recomendaciones sobre cuanta memoria RAM debe disponer nuestra CPU y cuantos workers habilitar en base a los usuarios concurrentes y los LiveChat que se ejecuten.
  • Si al analizar el código, observamos una implementación inadecuada con código repetitivo, redundante o ineficiente, deberemos refactorizar planteando una solución más óptima de implementar estas funcionalidades. Por otro lado, si existen consultas a la bases de datos en nuestro código deberemos pensar si todas ellas son necesarias y si estas se pueden optimizar tomando solo aquella información estrictamente necesaria para la operación.
  • Si la base de datos es muy grande, considerar migrar la información histórica que no usamos frecuentemente a otro sistema o incluso implementar índices en las tablas.
  • Si tenemos acciones planificadas o informes, que hacen un uso de grandes cantidades de datos, considerar refactorizar estas funcionalidades para hacerlas lo más ligeras y rápidas posibles. Además se puede paralelizar la ejecución de una tarea en otras más pequeñas para que se vayan ejecutando en la medida de que el sistema sea capaz de atender las peticiones, implementando el uso de Queue Jobs de la OCA. En futuros post hablaremos mas extensamente sobre esta herramienta de la comunidad que nos brinda una optimización de nuestras tareas en ejecución.
  • Finalmente, si tenemos una versión muy antigua de Odoo (por lo general se recomienda 2 o 3 versiones por detrás de la actual como mucho), migrar a nuevas versiones y tomar ventaja de las nuevas funcionalidades y mejoras en el rendimiento.

En Dixmit entendemos y nos comprometemos a ayudar a aquellas empresas que experimentan una demora inusual en el tiempo de respuesta de Odoo. Además, debes saber que desde Odoo se ofrecen recomendaciones de aspectos técnicos que se deben tener en cuenta para la configuración de una instancia, así como las necesidades que debe tener la máquina en base a ciertos parámetros que puedes consultar en la documentación oficial. Por último, puedes encontrar más información acerca de la monitorización y mejora del rendimiento en vídeos del canal de la Asociación Española de Odoo.

Introducción a la fabricación en Odoo
Cómo empezar con buen pie