Buenas, hace un tiempo ya que estamos teniendo un problema, los usuarios reportan errores y que sudocu anda “muy lento”, que tienen que hacer varias veces las cosas porque cuando crean un documento por ejemplo les tira un error, al rato vuelven a probar y les funciona. Estuvimos viendo los logs de sudocu_api-server y notamos un error que aparece bastante, el error es el siguiente:
ERROR DE PROGRAMACION
Error: Connection terminated due to connection timeout
at Connection.<anonymous> (/app/node_modules/pg/lib/client.js:132:73)
at Object.onceWrapper (events.js:519:28)
at Connection.emit (events.js:400:28)
at Socket.<anonymous> (/app/node_modules/pg/lib/connection.js:57:12)
at Socket.emit (events.js:400:28)
at TCP.<anonymous> (net.js:686:12)
at TCP.callbackTrampoline (internal/async_hooks.js:130:17)
[2023-02-09T13:44:01] error_db_query {
details: null,
stack: 'Error: Connection terminated due to connection timeout\n' +
' Connection.<anonymous> (/app/node_modules/pg/lib/client.js:132:73)\n' +
' Object.onceWrapper (events.js:519:28)\n' +
' Connection.emit (events.js:400:28)\n' +
' Socket.<anonymous> (/app/node_modules/pg/lib/connection.js:57:12)\n' +
' Socket.emit (events.js:400:28)\n' +
' ',
string: 'Connection terminated due to connection timeout',
clientmessage: 'Connection terminated due to connection timeout',
url: '/documentos/eventos',
msg: 'error_db_query',
type: 'error',
id_err: '6sgoo',
trace: 'Error: Connection terminated due to connection timeout\n' +
' Connection.<anonymous> (/app/node_modules/pg/lib/client.js:132:73)\n' +
' Object.onceWrapper (events.js:519:28)\n' +
' Connection.emit (events.js:400:28)\n' +
' Socket.<anonymous> (/app/node_modules/pg/lib/connection.js:57:12)\n' +
' Socket.emit (events.js:400:28)\n' +
' '
}
ERROR DE PROGRAMACION
[object Object]
ERROR DE PROGRAMACION
Error: Connection terminated due to connection timeout
Y sigue bastantes lineas con lo mismo…
Creíamos que era un problema con las conexiones a la base de datos, así que le subimos la cantidad de conexiones máximas a postgres a 400 (por defecto estaba en 100). Esto no mejoro, pero si notamos que cuando hay mas de 100 conexiones simultaneas a la base de datos es cuando empieza a tirar el error, por ejemplo cuando hay 135 conexiones (cuando acepta 400) ya tira “ERROR DE PROGRAMACION”. Encontramos el siguiente hilo en éste mismo foro:
https://foro.comunidad.siu.edu.ar/index.php?topic=24551.0
Aparentemente tenían el mismo problema que nosotros así que decidimos probar esa solución. Lo primero que hicimos fue cambiar NODE_OPTIONS: “–max-old-space-size=4096” nada más, como funcionó un poco mejor pusimos toda la configuración que sugería, esto es agregar a sudocu.yml lo siguiente:
environment:
TZ: "America/Buenos_Aires"
NODE_OPTIONS: "--max-old-space-size=8192"
UV_THREADPOOL_SIZE: "512"
Y anduvo peor que antes, así que volvimos a sacar “UV_THREADPOOL_SIZE” y en “NODE_OPTIONS” dejarlo en 4096, pero los usuarios siguen reportando que es muy dificil a veces usar el sistema y el error en el log del api-server sigue apareciendo.
A alguien más le pasa? Encontraron una solución?
Saludos!