Ir al contenido
Otras versiones

Cargando…

Parámetros de configuración de rendimiento

Existen varios parámetros de configuración para adaptar la extracción de texto de los documentos a sus necesidades. La extracción de texto es uno de los procesos que pueden consumir muchos recursos de hardware (memoria y CPU). Una política de extracción de texto agresiva puede reducir el rendimiento de la aplicación y afectar a la sensación del usuario final con la interfaz de usuario.

Cuando se suben documentos, se añaden automáticamente a la Text extraction queue. Puede ver la cola de extracción de texto en Administration > Statistics > Text extraction queue.

Existe una tarea crontab llamada “Text extractor worker” en Administration > Cron tab que controla el ciclo de indexación

Campo / Propiedad Tipo Descripción
text.extraction.batch Boolean Indica el número de documentos que se procesarán en cada ciclo de indexación.
Cuando el parámetro “text.extraction.concurrent” está habilitado, es una buena práctica que sea múltiplo del valor de “text.extraction.threads”.
20
text.extraction.concurrent Boolean Habilita o deshabilita la funcionalidad de extracción de texto con hilos concurrentes.
True
text.extraction.threads Integer Número de hilos concurrentes que se utilizarán para la extracción de texto.
Este número debería ser menor o igual que el número de núcleos de hardware.
2

Existe una tarea crontab llamada “Text extractor worker” en Administration > Cron tab que controla el ciclo de indexación

Campo / Propiedad Tipo Descripción
mail.extraction.batch Boolean Indica el número de correos que se procesan en cada ciclo de indexación. 
Cuando el parámetro “mail.extraction.concurrent” está habilitado, es buena práctica que sea un múltiplo del valor de mail.extraction.threads.
20
mail.extraction.concurrent Boolean Habilita o deshabilita la funcionalidad de hilos de extracción de correo concurrentes.
True
mail.extraction.threads Integer El número de hilos concurrentes que se utilizarán para la extracción de correo.
Este número debe ser menor o igual que el número de núcleos de hardware.
2

Descargar archivos y carpetas como archivo ZIP

Sección titulada «Descargar archivos y carpetas como archivo ZIP»

No es buena práctica descargar grandes volúmenes de archivos como archivos ZIP. En la mayoría de los casos, considere utilizar la herramienta de exportación de la aplicación en Administration > Utilities > Repository export.

Descargar archivos y carpetas como archivo ZIP puede requerir mucho tiempo y recursos de hardware. Primero, la aplicación preparará una carpeta temporal en el servidor que se utilizará para crear el archivo ZIP y, finalmente, se enviará a la interfaz de usuario. Para evitar bloquear la interfaz de usuario esperando a que finalice el proceso, existen dos parámetros que detectarán que el usuario ha superado algunos límites (número de archivos o tamaño) y el proceso pasará a modo en segundo plano.

Campo / Propiedad Tipo Descripción
download.zip.live.max.files Integer Establece el número máximo de archivos que se pueden descargar en modo en vivo.
100
download.zip.live.max.file.size String Establece el tamaño máximo del conjunto de archivos que se pueden descargar en modo en vivo.

Para más información sobre estos parámetros, lea Parámetros de configuración de la interfaz de usuario.

Existen varios parámetros de configuración para adaptar el comprobador de antivirus a sus necesidades. El comprobador de antivirus es uno de los procesos que pueden consumir muchos recursos de hardware (memoria y CPU). Una política de comprobación de antivirus agresiva puede reducir el rendimiento de la aplicación y afectar a la sensación del usuario final con la interfaz de usuario. El comprobador de antivirus puede funcionar en modo en vivo (durante la subida, el antivirus comprueba el documento y, si se detecta un virus, se genera inmediatamente un error de advertencia y el documento no se incorpora al repositorio) o comprobar en modo en segundo plano.

Campo / Propiedad Tipo Descripción
system.antivir String Establece la ruta del antivirus.
background.antivirus.check Boolean Habilita o deshabilita la comprobación antivirus en segundo plano. Por defecto está en false.
Hay una tarea de crontab (Administration > Crontab) llamada Antivirus Checker Worker que controla la comprobación antivirus en segundo plano.
Cuando la comprobación en segundo plano está deshabilitada, el antivirus se procesa mientras se sube cualquier documento. Eso puede añadir tiempo extra al proceso de subida (en algunos casos, un antivirus puede tardar más de 3 segundos en comprobar un documento). Al realizar una importación grande de archivos, el tiempo total de la operación puede multiplicarse por 3 o más con esta opción deshabilitada. Nuestra sugerencia es habilitarla.
true
background.antivirus.check.threads Integer El número de hilos concurrentes que se utilizarán para el análisis antivirus.
Este número debe ser menor o igual que el número de núcleos de hardware.
2
background.antivirus.check.batch Integer Indica el número de documentos que se procesarán en cada ciclo de indexación.
Cuando el parámetro “background.antivirus.check” está habilitado, es una buena práctica que sea múltiplo del valor de “background.antivirus.check.threads”.
20

Para más información, lea Parámetros de configuración del antivirus.

La aplicación puede reconstruir los índices de Lucene de dos formas: secuencial o en paralelo. Por defecto está habilitada la reindexación secuencial, pero puede seleccionar el modo mediante el parámetro de configuración “hibernate.indexer.rebuild”.

Campo / Propiedad Tipo Descripción
hibernate.indexer.rebuild String Por defecto está en “flush”. Los valores posibles son “mass”, “flush” y “delayed”. Consulte la tabla siguiente para ver los detalles de cada valor.

Puede utilizar el parámetro de configuración “hibernate.indexer.batch.size.load.objects” para indicar a Hibernate cuántos objetos deben gestionarse a la vez. Para evitar problemas de OutOfMemory, el repositorio debe reindexarse por lotes. Si el valor de esta propiedad es demasiado bajo, el rendimiento será malo, pero si es demasiado alto, puede tener problemas de OutOfMemory.

Modo Descripción
Mass Indexer Este modo reindexará el repositorio en paralelo, utilizando varios hilos. Puede ser más rápido, pero también es problemático en cuanto a recursos. El repositorio estará en modo de solo lectura hasta que termine.
Dispone de varias propiedades de configuración para ajustar su rendimiento:
- hibernate.indexer.batch.size.load.objects: tamaño de lote utilizado para cargar las entidades.
30
- hibernate.indexer.threads.load.objects: número de hilos utilizados para cargar las entidades.
4
Flush to Indexes Este modo reconstruirá el índice secuencialmente por lotes. Consume menos recursos, pero puede ser más lento. El repositorio estará en modo de solo lectura hasta que termine.
Dispone de varias propiedades de configuración para ajustar su rendimiento:
- hibernate.indexer.batch.size.load.objects: tamaño de lote utilizado para cargar las entidades.
30
Delayed Indexer Hay una tarea cron llamada “Lucene Delayed Indexer” que procesa en segundo plano la cola de nodos pendientes de indexar.
Esta cola se llena cuando va a Administration > Tools > Rebuild indexes y elige “Lucene indexes”. Cuando el indexador diferido está habilitado, los nodos se incluyen en la cola de lotes para procesarse con este proceso en segundo plano.
Este modo reconstruirá el índice secuencialmente por lotes. Consume menos recursos y puede ser más lento, pero tiene más control porque puede elegir qué nodos deben reindexarse, y el repositorio no estará en modo de solo lectura mientras trabaja.
Dispone de varias propiedades de configuración para ajustar su rendimiento:
- hibernate.indexer.delayed.max.objects: cuántos nodos se procesarán en un lote.
1000
- hibernate.indexer.batch.size.load.objects: número de nodos que se leen de la base de datos a la vez.
4

La aplicación ejecuta aplicaciones externas para procesar documentos; por ejemplo, extrae el texto con un motor de OCR, analiza con un software antivirus o transforma documentos a otros formatos, entre otras acciones. A veces estos procesos pueden tardar mucho tiempo o, por algún motivo, no finalizar correctamente, y el proceso sigue consumiendo recursos en el sistema operativo. Para evitarlo, el parámetro “system.execution.timeout” establece el tiempo máximo de ejecución permitido para las aplicaciones externas.

Campo / Propiedad Tipo Descripción
system.execution.timeout Integer Establece el tiempo máximo de ejecución permitido para las aplicaciones externas.
La unidad son minutos. Por defecto, la configuración es de 5 minutos.
5

OpenKM puede registrar mucha información relacionada con la actividad de los usuarios, pero a veces no es necesario registrar estas acciones, que llenan su tabla del registro de actividad.

Existe una propiedad de configuración llamada “activity.log.actions” donde puede establecer qué acciones se registran. Por defecto se establecen las acciones más habituales o interesantes. Puede utilizar expresiones regulares para definir estas acciones. Lea Java Regex Tutorial para más información sobre las expresiones regulares de Java.

Campo / Propiedad Tipo Descripción
activity.log.actions List LOGIN
LOGOUT
CREATE_.*
DELETE_.*
PURGE_.*
MOVE_.*
COPY_.*
CHECKOUT_DOCUMENT
CHECKIN_DOCUMENT
GET_DOCUMENT_CONTENT.*
MISC_TEXT_EXTRACTION_FAILURE

El panel de OpenKM muestra una vista global de la actividad de la aplicación. Para ello, la aplicación necesita procesar una enorme cantidad de información, lo que puede reducir el rendimiento global de la aplicación (por ejemplo, para obtener los últimos documentos subidos al sistema, OpenKM puede ejecutar consultas lentas en la base de datos). Por ello, en repositorios enormes sugerimos deshabilitar la actividad del panel.

Campo / Propiedad Tipo Descripción
dashboard.user.activity Boolean Establézcalo en false para deshabilitar la funcionalidad.

El motor de búsqueda Lucene puede deshabilitarse o configurarse de varias formas. Según ello, el comportamiento de la aplicación y el rendimiento general pueden cambiar.

Campo / Propiedad Tipo Descripción
spring.jpa.properties.hibernate.search.autoregister_listeners String Habilita o deshabilita el motor de búsqueda Lucene.
Valores permitidos:
- on
- off
on
spring.jpa.properties.hibernate.search.default.worker.execution String Establece el modo de ejecución del worker de Lucene. Por defecto está en “sync”, lo que significa que una modificación de una entidad no se completa hasta que el índice de Lucene se ha actualizado correctamente. En el caso de “async”, estas modificaciones de entidades serán más rápidas porque el trabajo de Lucene se añade a una cola y se procesa en un hilo en segundo plano.
Valores permitidos:
- sync
- async
sync