Errores de tiempo de espera / duración prolongada moviendo publicaciones

Estamos ejecutando un foro de Discourse autoalojado (tff-forum.de) con más de 4 millones de publicaciones y muchos hilos largos.

Desde la última actualización a la versión 3.4.0.beta3, estamos experimentando tiempos de ejecución largos de 15 a 20 segundos al mover publicaciones de un hilo a otro.

En algunos casos, la función termina con un error y el registro muestra el siguiente mensaje:

Unicorn worker received USR2 signal indicating it is about to timeout, dumping backtrace for main thread

Antes de la actualización, solo teníamos problemas al mover publicaciones entre hilos muy grandes. Ahora, la función a veces termina cuando los hilos solo contienen unas pocas publicaciones.

¿Tienen algún consejo sobre qué podemos verificar para encontrar la causa de este problema? ¿Es posible que tengamos un problema con la base de datos (índice/estadísticas faltantes)?

Gracias de antemano por su apoyo.

1 me gusta

Hubo algunos commits en beta3 que tenían problemas de rendimiento. Probablemente deberías actualizar.

Nota: La actualización de PostgreSQL 15 complica la actualización.

1 me gusta

Gracias por el consejo de actualizar a la versión 3.4.0.beta4. Debido al cambio de PostgreSQL a la versión 15, necesitamos un período de mantenimiento más largo. Pero tiene sentido hacer la actualización en los próximos días para ver si esto resuelve nuestro problema.

Nos sorprendió un poco la actualización de PostgreSQL. Hicimos la actualización de nuestro sistema de pruebas a la versión 3.4.0.beta3 unos días antes y no tuvimos problemas. Cuando hicimos la actualización del sistema de producción, la actualización de la base de datos formó parte del proceso de repente. No estábamos preparados para eso y omitimos la actualización de la base de datos. Por lo tanto, tenemos que hacerlo junto con la versión 3.4.0.beta4 o como un paso separado antes.

¿Es posible que la actualización omitida de la base de datos cause nuestros problemas de rendimiento? ¿Hay alguna forma sencilla de comprobar si los índices y las estadísticas de la base de datos son correctos?

Probablemente no.

Puedes ejecutar los comandos vacuum y reindex sugeridos en el tema de actualización de PG en cualquier momento.