Ajuste del rendimiento para el procesamiento paraleloEn este apéndice se describe el ajuste del rendimiento que puede ser necesario para ejecutar la sesión Proceso CI (tccri7203m000) mediante el procesamiento paralelo. El rendimiento real de Proceso CI (tccri7203m000) depende de una serie de factores, incluido el número de CPU disponibles, así como la configuración de los servidores de aplicación y de base de datos. La cantidad de datos incluidos en las tablas es otro factor importante. Por lo general, las tablas siguientes contienen grandes cantidades de datos:
En Infor LN FP5 y versiones posteriores, hay una característica disponible para actualizar las tablas directamente mediante RDBMS. Esta característica está implementada en porting set 8.7a.03 y posteriores. Las actualizaciones directamente mediante RDBMS son más eficientes que las actualizaciones a través del bshell. La diferencia es que toda la transacción se transfiere a RDBMS. Este tipo de actualización se limita a tablas o datos para los que no es necesario recalcular los importes propios ni los tipos de cambio. Esto puede ocurrir si, por ejemplo, los importes propios de una divisa de listado se convierten en los importes en la divisa local. Otro ejemplo puede ser la eliminación de los importes propios. Esto puede ocurrir si las divisas de listado se borran o, en las tablas logísticas, si el sistema de divisas cambia a un sistema de divisas estándar. La sesión Proceso CI (tccri7203m000) comprobará si se pueden aplicar actualizaciones directamente mediante RDBMS. La sesión utilizará las actualizaciones convencionales (más lentas) si no está permitida la actualización directa mediante RDBMS. Las siguientes condiciones determinan si se pueden utilizar actualizaciones de RBDMS:
Si el proceso de inicialización de la divisa empieza en la sesión Proceso CI (tccri7203m000), esta sesión accederá al grupo de conversión y a las compañías pertinentes y determinará el tipo de conversión necesaria. Si se pueden aplicar actualizaciones directamente a través del RDBMS, se generarán algunos datos en las Tablas de conversión CI por compañías de grupo (tccri725) y los Grupos de actualización de tablas de conversión del grupo CI (tccri726). Nota Los grupos de actualización de tablas de conversión del grupo CI (tccri726) sólo se generan para las entradas Transacción de integración (tfgld482) de la sesión Tablas de conversión CI por compañías de grupo (tccri7125m000). En la sesión Tablas de conversión CI por compañías de grupo (tccri7125m000), se seleccionará el campo Actualizaciones masivas si Proceso CI (tccri7203m000) actualiza directamente una tabla mediante las actualizaciones de RDBMS. La tabla Transacciones de integración (tfgld482) puede contener transacciones que pertenecen a varias compañías contables. Las transacciones de integración que se pueden gestionar con actualizaciones directamente mediante RDBMS se agruparán en grupos de actualización. Las transacciones de un grupo de actualización se pueden convertir a una actualización de RDBMS. Si Transacciones de integración (tfgld482) también se debe convertir sin actualizaciones directamente mediante RDBMS, la conversión aún se puede dividir. De esta forma, la actualización convencional de la tabla se procesará mediante procesos paralelos. Los datos de conciliación (tfgld495) se deben dividir sólo si no se pueden aplicar actualizaciones directamente mediante RDBMS. Esto ocurre si, por ejemplo, es necesario recalcular los importes propios o de los tipos de cambio. Nota
Ejemplo de ajuste Este ejemplo se aplica a las tareas de conversión que se gestionan sin actualizaciones directas mediante RDBMS, y que se pueden dividir en Tablas de conversión CI por compañías de grupo (tccri7125m000). ![]() Una conversión interna con procesamiento paralelo puede implicar conversiones con o sin actualizaciones directas mediante RDBMS, según la configuración de divisa de cada compañía. Supongamos que los datos de tres compañías se deben convertir mediante nueve bshells paralelos. En la imagen se muestra este caso con distintos colores para las tres compañías. La tabla convertida en la tarea 1.1 es muy grande. Al mismo tiempo, también hay otras tres tablas grandes convertidas (2.1, 2.2 y 3.1). Si la tarea de conversión grande, la 1.1, se puede dividir, puede decidir que haya seis bshells procesando la tarea 1.1, mientras que tres bshells procesarán las tareas 2.1, 2.2 y 3.1. Después de dividir la tarea 1.1, las tareas más pequeñas (de color lila) quedarán apartadas por las seis tareas más grandes que procesan la tarea 1.1. El mismo enfoque se puede utilizar si, por ejemplo, se puede dividir la conversión de las tablas 2.3 y 2.4. Si la tabla 2.3 es procesada por dos bshells en paralelo y la tabla 2.4 es procesada por tres bshells en paralelo, aún quedará suficiente capacidad para que los bshells paralelos restantes procesen las tareas más pequeñas (de color verde) al mismo tiempo. ![]() Después de dividir las tareas, la carga de los procesos paralelos quedará más equilibrada. El tiempo total transcurrido se reduce de 28 a 17 unidades de tiempo. Proceso CI (tccri7203m000): conversión de prueba frente a conversión real En el modo de simulación, se probarán las transacciones de la base de datos de las actualizaciones realizadas directamente mediante RDBMS. Este tipo de actualizaciones se pueden utilizar en la conversión de Datos de conciliación (tfgld495), Transacciones de integración (tfgld482), Historia de líneas de orden de venta (tdsls451) e Historia de líneas de entrega reales de orden venta (tdsls456). Las transacciones se revertirán en el modo de prueba. Esto puede tardar mucho más tiempo que la transacción real en una conversión real. En la lógica de conversión convencional, la actualización de los datos de la tabla no se lleva a cabo durante la conversión de prueba. Tenga en cuenta que, si bien estas tablas se procesarán en menos tiempo durante la conversión de prueba, su procesamiento en la conversión real llevará más tiempo. Importante Durante la inicialización de la divisa, no debe haber ningún otro usuario o proceso activo en las compañías del grupo de conversión, incluso aunque se utilice la sesión Proceso CI (tccri7203m000) para llevar a cabo una conversión de prueba. Para evitar problemas de bloqueo de tablas o de lectura de transacciones sin confirmar, tenga en cuenta lo siguiente:
Configuración de Oracle Las actualizaciones directas mediante RDBMS serán transacciones grandes. Como consecuencia, se necesitará una gran cantidad de espacio de tabla Undo. LN se prueba con un espacio de tabla Undo de 32 GB. Recomendamos que configure el espacio de tabla Undo para ampliar los archivos de datos automáticamente con, por ejemplo, 8 GB cada vez. Esto evitará que se produzcan los errores ORA-1555 (Snapshot too old). Recuerde el tamaño máximo del archivo de datos. No es fácil prever si el tamaño del espacio de tabla Undo será suficiente. Se recomienda que busque los errores ORA-1555 en los registros del visor de eventos de LN cuando se esté ejecutando Proceso CI (tccri7203m000). En general, para que las consultas se realicen correctamente, la base de datos de Oracle se debe ajustar de la forma adecuada. LN se probó con la siguiente configuración aplicada al entorno de LN mediante el archivo $BSE/lib/default/db_resource:
Debería fusionar las líneas anteriores con el recurso de base de datos basado en lotes para la conversión. En algunas implementaciones, se aplican valores no predeterminados a los parámetros de Oracle ocultos (los denominados parámetros Underscore). Esta configuración podría afectar a los planes de ejecución de las consultas. Debería restablecer sus valores predeterminados. Para ello, puede añadirlos a la propiedad Configuración de SQL Server Debería cambiar el registro en la base de datos de LN durante la inicialización de divisas a Simple y crear una copia de seguridad completa tras finalizar la inicialización de las divisas. Configure el archivo $BSE/lib/default/db_resource para habilitar la recuperación de matriz y entonces establezca el tamaño de recuperación en 100. Configuración de DB2 Configure el archivo $BSE/lib/default/db_resource para habilitar la recuperación de matriz y entonces establezca el tamaño de recuperación en 100.
| |||