Checkpoints to mitigate performance issues

Puntos de control para mitigar los problemas de rendimiento

Muchas veces he escuchado sobre problemas de rendimiento en Business Central y al mismo tiempo muchas veces se ha identificado problemas de implementación o mal uso de algunas herramientas y funcionalidades de Business Central.

Hay que prestar especial atención a las configuraciones de algunas entidades, el horario de ejecución de algunos procesos e identificar acciones que debemos minimizar o controlar.

Les mencionaré algunos de ellos, y de existir algunos más espero sus comentarios:

Habilitación y configuración del registro de cambios

Business Central nos recomienda no añadir tablas históricas ni de movimiento, así como también evitar realizar el seguimiento de todos los campos de la tabla, sino que decidamos que campos nos interesa, ya que esto impacta incrementando la cantidad de veces que se escribe en la base de datos.

De igual manera es evidente que también impactará en el crecimiento de la base de datos, conllevando a que operaciones como copiado de empresa, exportación de base de datos y restauración del ambiente en caso de requerirse se vean afectados.

Habilitación y configuración de la supervición de campos confidenciales

Su habilitación también nos advierte que impactará en el rendimiento, por lo que es necesario seleccionar con criterio las tablas y campos correspondientes.

Habilitación y configuración del ajuste de costo de productos

Muchos seleccionarían la opción de «siempre», evitando cualquier acción manual, manteniendo el costo siempre al día en cada movimiento, suena atractivo y funciona muy bien en escenarios de clientes sencillos y no tan complejos. Pero en clientes con gran cantidad de productos, gran cantidad de operaciones, pertenecientes al rubro de fabricación, con productos configurados con seguimiento de lotes o series, reservas y otros factores esta opción para nada es lo más óptimo.

Por lo que seleccionar la opción de «siempre» trae consigo problemas como lo son el rendimiento, los bloqueos, o posibles incidencias con las fechas de registro si es que tenemos un control exigente en los periodos de registros y los cerramos.

Habilitación y configuración de vistas de análisis

Si habilita la opción de «Actualizar al registrar» en una vista de análisis, la vista se actualiza automáticamente cuando se registra una transacción asociada. Agregando más operaciones de escritura a la base de datos luego de cada registro, impactando por consiguiente en el rendimiento. Habilitar esta opción amerita que se haya analizado el impacto de los registros.

Ejecución de procesos largos y exigentes en segundo plano

Es importante analizar también aquellos procesos que podemos trabajar en segundo plano, evitando colapsar, bloquear o reducir el rendimiento mientras los usuarios están trabajando.

Procesos de actualización de datos o sumarización de importes: Cualquier proceso que implique afectar el rendimiento como actualizaciones masivas, cálculos, agrupaciones y otros, se recomienda que sean planificados y ejecutados en segundo plano y en horarios especiales.

Habilitación y configuración de colas de proyectos

El horario de planificación tiene que ser principalmente en horarios fuera de oficina, fines de semana y otro espacio donde no se tenga mucha presencia de usuarios. La frecuencia de la misma va en sintonía con el tiempo aproximado de ejecución, si se demora muchas horas su ejecución no tendremos forma de ejecutarlo más de 2 veces en las noches por ejemplo. Es aquí donde debemos analizar el diseño del proceso que ejecuta la cola para filtrar o dividir las operaciones.

Operaciones con dimensiones

Una decisión importante y crítica es la selección de las dimensiones y por sobre todo las globales. Se recomienda analizarlo, probarlo y decidirlo adecuadamente para evitar cambiarlas en el futuro.

Operaciones con paquetes de configuración

Operaciones con las empresas

La cantidad de empresas en un ambiente también podría impactar en el rendimiento y en la capacidad por lo que debemos velar porque existan solo las necesarias. Tener una gran cantidad de empresas impactará en el proceso de actualización, exportación de bases de datos y restauración del ambiente de requerirse.

Renombre de empresas: La operación de renombrar la empresa ya no es soportada en Saas por lo que debemos usar la opción de «Nombre a mostrar».

Extensiones instaladas y sin usar

Es más habitual de lo que parece pero muchas veces se instalan extensiones desde del Appsource para probar o revisar funcionalidades, y luego no se desinstalan, toda extensión puede impactar en el rendimiento por lo que es conveniente desinstalar una extensión cualquiera que sea que no se utilice.

De igual manera de manera nativa Microsoft instala extensiones que probablemente no usaremos nunca, como las relacionadas a las de migración, o integración con Shopify y otros, por lo que podemos desinstalarlas.

Otros puntos a revisar

Por mencionar otros aspectos a tener en consideración, tenemos:

Seguimientos de productos y fechas de vencimiento:

Y si adicionalmente le sumamos que tenemos que realizar un seguimiento utilizando fechas de vencimiento entonces el rendimiento puede verse afectado, tal como lo indica la documentación del campo en la página de configuración siguiente:

Reservas automáticas:

Sería conveniente revisar las implementaciones de nuestros clientes e intentar atender estos puntos para entender y mejorar el rendimiento en el uso de Business Central.

Espero que esta información te ayude.


Checkpoints to mitigate performance issues

Many times I have heard about performance problems in Business Central and at the same time many times implementation problems or misuse of some Business Central tools and functionalities have been identified.

We must pay special attention to the configurations that some entities have, the execution schedule of some procedures or actions that we should avoid doing to a minimum.

I will mention some of them, and if there are any more, I look forward to your comments:

Enabling and configuring change log

Business Central recommends that we do not audit historical or entries tables, as well as avoid tracking all the fields in the table, but rather that we decide which fields we are interested in, since this impacts by increasing the number of times it is written to the database.

Likewise, it is evident that it will also impact the growth of the database, leading to operations such as company copying, database export and environment restoration if required, being affected.

Enabling and configuring sensitive field monitoring

Enabling it also warns us that it will impact performance, so it is necessary to carefully select the corresponding tables and fields.

Enabling and configuring item cost adjustment

Many would select the «always» option, avoiding any manual action, keeping the cost always up to date with each movement, it sounds attractive and works very well in simple and not so complex customer scenarios. But in clients with a large number of items, a large number of operations, belonging to the manufacturing sector, with items configured with lots or series tracking, reserves and other factors, this option is not at all the most optimal.

Therefore, selecting the «always» option brings with it problems such as performance, database locks, or possible incidents with the posting dates if we have strict control over the posting periods and close them.

Enabling and configuring analysis views

If you enable the «Update on Posting» option on an analysis view, the view automatically refreshes when an associated transaction is posted. Adding more write operations to the database after each posting, consequently impacting performance. Enabling this option requires that the impact of this have been analyzed.

Running long and demanding processes in the background

It is important to also analyze those processes that we can work in the background, avoiding collapsing, locking or reducing performance while users are working.

Data update processes or summarization of amounts: Any process that involves affecting performance such as massive updates, calculations, groupings and others, is recommended to be planned and executed in the background and at special times.

Enabling and configuring job queues

The planning schedule has to be mainly during non-office hours, weekends and other spaces where there is not a lot of user presence. Its frequency is in tune with the approximate execution time, if its execution takes many hours we will not have a way to execute it more than 2 times at night for example. This is where we must analyze the design of the process that executes the job queue to filter or divide the operations.

Operations with dimensions

An important and critical decision is the selection of dimensions and above all global ones. It is recommended to analyze it, test it and decide appropriately to avoid changing them in the future.

Operations with configuration packages

Operations with companies

The number of companies in an environment could also impact performance and capacity, so we must ensure that only the necessary ones exist. Having a large number of companies will impact the process of updating, exporting databases and restoring the environment if required.

Company renaming: The operation of renaming the company is no longer supported in Saas so we must use the «Display name» option.

Installed and unused extensions

It is more common than it seems, but many times extensions are installed from the Appsource to test or review functionalities, and then they are not uninstalled. Any extension can impact performance, so it is advisable to uninstall any extension that is not used.

Likewise, Microsoft natively installs extensions that we will probably never use, such as those related to migration, or integration with Shopify and others, so we can uninstall them.

Other aspects to check

To mention other aspects to take into consideration, we have:

Item tracking and expiration dates:

And if we additionally add that we have to track using expiration dates then performance may be affected, as indicated in the field documentation on the following configuration page:

Automatic reservations:

It would be advisable to review our customers’ implementations and try to address these points to understand and improve performance in the use of Business Central.

I hope this information helps you.


Más información/ More information

Deja un comentario