• Lentitud al ejecutar la extracción de texto para los documentos (Tras dos días y medio sólo un 13%).

  • Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #54725  by alan_vallejo
 
Buenos días,

Por una diferencias que hemos observado a la hora de construir las consultas e indexar la información entre la versión de Lucene 3.1 y la versión 3.0, hemos decidido configurar Lucene 3.0.
Para asegurarnos de que no hubiera problemas en la construcción del índice, hemos decido reconstruir el índice.
Como aún teníamos pendientes la extracción de texto y además, hemos decidido configurar un nuevo analizador, hemos tomado la decisión de reconstruirlo regenerando la extracción de texto de todos los documentos (Administración > rebuild indexes > Text Extractor).

El proceso lo empezamos a ejecutar el viernes 25 a las 16h y tras 68h de ejecución el proceso sólo va por el 13%.
Esto me preocupa bastante, ya que el volumen de datos no es muy grande (267319 documentos) y nos podemos tirar a este paso 17 días más lo cuál me parece una barbaridad.

OpenKM está en un servidor dedicado con 128gb de RAM y 5 discos SSD en raid 5 (supuestamente el más rápido para I/O) y monitorizándolo parece que esta "descansando", con lo que no entiendo muy bien que es lo que está haciendo OpenKM.

Por favor, si es posible, ¿Podrían guiarme para entender que está ocurriendo dentro del sistema para que se produzca esta lentitud?

Por otro lado, estoy monitorizando el proceso a través del navegador. Entiendo, que si cierro el navegador, la única manera que tengo de conocer el avance en el mismo, es consultar la tabla NodeDocument preguntándole cuantos documentos tiene el flag de extracción de texto "NDC_TEXT_EXTRACTED" A F, no?

Un saludo y gracias de antemano.
Last edited by alan_vallejo on Mon May 27, 2024 11:19 am, edited 1 time in total.
 #54729  by alan_vallejo
 
Update:

Ayer decidí parar la extracción de texto, haciendo cuentas iba a tardar mucho tiempo ya que he visto que es posible configurar la extracción de texto de manera concurrente y he establecido la configuración de la siguiente manera (para ello nos hemos basado en las siguientes directrices https://docs.openkm.com/kcenter/view/ok ... actorqueue):

Características de nuestro servidor: 38 cores, 126gb ram

managed.text.extraction: Active
managed.text.extraction.batch:/b] 20
managed.text.extraction.concurrent: Active
managed.text.extraction.pool.size: 20
managed.text.extraction.pool.threads: 40
managed.text.extraction.pool.timeout: 3

Una vez actualizado, he vuelto a ejecutar la extracción de texto y lo he dejado por la noche. Está mañana al levantarme, lo he comprobado y había realizado sólo 7 extracciones.
 #54731  by jllort
 
Probablemente te esta dando error de forma recurrente y esto te debe aparecer en el fichero de log. Un tema importante es que las tareas en background tienen un parámetro que define el tiempo máximo de ejecución que esta definido en 5 minutos. Si tienes ficheros enormes estaras superando este rango y nunca se van a terminar de procesar por lo que deberás incrementar el valor.

El parámetro se llama system.execution.timeout

De todas formas te sugiero que ejecutes la extracción de texto y mires en el log a ver que es lo que sale.
 #54745  by alan_vallejo
 
Update:

Hemos aumentado el valor system.execution.timeout a 10 y hemos vuelto a ejecutar el comando desde el sistema de administración (pulsando rayo del comando Text Extractor Worker).

Por los logs, tengo la ligera sospecha de que el sistema/java no es capaz de comunicarse con la base de datos cuando se está ejecutando desde hilos (cosa que me parece extrañisima)....
El aplicativo funciona perfectamente cuando las operaciones se realizan a través de REST API o utilizando el GUI, por ejemplo, cuando creamos, copiamos y eliminamos documentos. Estas acciones interactúan con la base de datos.

Para descartar problemas con el servidor de BD, hemos probado con dos copias de la BD. La primera, esta alojada en un servidor externo y, la segunda, en el mismo servidor en el que se ejecuta OpenKM. Ambas pruebas han dado el mismo resultado.

¿Hay algún parámetro que debamos ejecutar para que los hilos puedan conectarse con la base de datos?

Gracias de antemano y un saludo.

Incluyo la traza del log catalina.out:
(67.03 KiB) Downloaded 111 times
Last edited by alan_vallejo on Thu May 30, 2024 8:31 am, edited 1 time in total.
 #54746  by alan_vallejo
 
Update:

He aumentado el número de conexiones en el servidor de MariaDB de 100 a 400 para ver si así no sale el error. Lo he probado y sigue saliendo el mismo error. Voy a probar aumentando el parametro system.execution.timeout en OpenKM a 20 y el parámetro managed.text.extraction.pool.timeout a 30.

Vuelvo a actualizar el post cuando lo haya hecho.
 #54747  by alan_vallejo
 
Update:

Los últimos cambios no han tenido ningún efecto. El sistema sigue arrojando los mismo logs (pasados unos 10 minutos) desde la ejecución. No sé si el número de hilos es elevado... Voy a bajarlo a 5 pero me da rabia porque no puedo aprovechar el rendimiento/procesamiento del servidor al máximo.
Otro fallo que hemos observado, es que cuando ejecutamos la extracción de texto, la GUI se queda completamente congelada y no responde al hacer click en cualquiera de sus iconos, apartados....
No sé si podéis recomendar alguna otra prueba o queréis que cambie algún otro parámetro...

Gracias de antemano.
Last edited by alan_vallejo on Thu May 30, 2024 9:19 am, edited 1 time in total.
 #54748  by alan_vallejo
 
Update:

He bajado los parámetros de configuración a 4 procesadores y 8 hilos para ver como se comporta..
Monitorizando el procesador con un HTOP, no veo que esté haciendo nada. ¿Es normal esto (sólo veo que hay un procesador trabajando a un 2%)?:
htop durante ejecución del text extractor concurrentemente.PNG
htop durante ejecución del text extractor concurrentemente.PNG (93.9 KiB) Viewed 2723 times
Gracias.
Last edited by alan_vallejo on Thu May 30, 2024 9:17 am, edited 1 time in total.
 #54765  by jllort
 
* Si quieres que nos miremos los logs los tienes que compartir en formato de texto ( aunque sea un fichero dentro de un zip ).
* Tienes algun documento enorme que debe estar reventándolo todo -> te sugiero que mires en los primeros de la lista, porque fijo que uno de ellos es el que esta generando el problema. Estas buscando un fichero, probablemente un PDF con un montón de páginas dentro ( es lo más probable ).
* Se genera algun fichero hprof en la carpeta del tomcat ( algun volcado de memoria )

Asegúrate que en el setenv.sh o setenb.bat tengas esta linea
Code: Select all
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME"

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.