Collabora Online cuenta con varias configuraciones que se asemejan a un "tiempo de espera por inactividad", pero que controlan comportamientos diferentes. Si un editor se atenúa o deja de actualizarse mientras un usuario sigue trabajando, ajuste la configuración de inactividad por vista. Si un documento permanece cargado después de que todos los usuarios se hayan desconectado, ajuste el tiempo de espera por documento. Si el editor se desconecta, verifique el tiempo de espera de WebSocket del proxy inverso antes de modificar la política de inactividad de Collabora.
La plantilla de configuración actual de Collabora Online documenta un tiempo de espera de inactividad de 15 minutos por visualización, un tiempo de espera de 5 minutos cuando la pestaña del navegador pierde el foco y un tiempo de espera de una hora antes de que se descargue un documento inactivo. Estos valores predeterminados pueden variar según la versión y el empaquetado, por lo que se recomienda revisar la configuración incluida en la versión instalada antes de realizar cambios. Los valores que se muestran a continuación se refieren a la plantilla actual que se ha comprobado para esta guía, y no garantizan su validez para todas las implementaciones de CODE o empresariales.
Seleccione la configuración según el comportamiento que desee.
| Configuración | Lo que controla | Úsalo cuando | Compensación |
per_view.idle_timeout_secs | Atenuar y detener las actualizaciones cuando el usuario está inactivo, incluso si la pestaña del navegador permanece activa. Valor predeterminado de la plantilla actual: 900 segundos. | Las personas necesitan períodos más largos para leer, revisar o editar sin interactuar continuamente. | Un tiempo de espera más prolongado mantiene las vistas inactivas activas durante más tiempo y puede consumir más recursos del cliente y del servidor. |
per_view.out_of_focus_timeout_secs | Atenuar y detener las actualizaciones cuando la pestaña del navegador ya no esté activa. Valor predeterminado de la plantilla actual: 300 segundos. | Los usuarios alternan entre el documento y otras pestañas mientras colaboran. | Un tiempo de espera más prolongado mantiene actualizadas las pestañas en segundo plano; tener varios documentos abiertos puede consumir más recursos. |
per_document.idle_timeout_secs | Descargando un documento que se ha quedado inactivo. Valor predeterminado de la plantilla actual: 3600 segundos. | Los documentos permanecen en la memoria demasiado tiempo después de que sus vistas de edición se hayan desactivado o cerrado. | Un valor más corto libera los procesos de documentos antes, pero una reapertura posterior puede requerir que se vuelva a cargar el documento. |
per_document.idlesave_duration_secsyautosave_duration_secs | Cuando los documentos modificados se guardan tras un periodo de inactividad o según la programación de guardado automático. Valores predeterminados de la plantilla actual: 30 y 300 segundos. | Estás ajustando la frecuencia de guardado o investigando el comportamiento del guardado. | Estos son intervalos de guardado, no ajustes de caducidad de sesión. Modificarlos no impedirá que la vista inactiva se atenúe. |
| Tiempo de espera de WebSocket del proxy inverso | ¿Cuánto tiempo mantiene abierto un proxy la conexión WebSocket del navegador? | El editor se desconecta o falla después de un período predecible, especialmente cuando está inactivo. | Las conexiones de larga duración necesitan límites coincidentes en todas las capas de proxy, balanceador de carga y entrada. |
Collabora documenta los significados y valores predeterminados en su plantilla de configuración coolwsd y referencia de configuración . Un tiempo de espera por inactividad por vista no es lo mismo que cerrar una cuenta o revocar el acceso: atenúa la vista y detiene las actualizaciones. Un tiempo de espera por documento descarga un proceso de documento inactivo; no es un temporizador que deba finalizar la sesión de un usuario que esté editando activamente.
Puntos de partida recomendados
- Para evitar que las pestañas activas de los usuarios se atenúen demasiado pronto, aumente
per_view.idle_timeout_secsel intervalo predeterminado a uno medido, como 1800 segundos (30 minutos). Este es un punto de partida práctico, no una recomendación universal.
- Permitir que los usuarios cambien de pestaña manteniendo un documento abierto: aumentar el costo
per_view.out_of_focus_timeout_secspor separado. No aumentarlo solo porque los usuarios estén inactivos en una pestaña activa.
- Reduzca el uso de memoria después de que se abandonen los documentos: deje los valores por vista sin modificar y considere reducirlos
per_document.idle_timeout_secs, después de confirmar que el documento está realmente inactivo y que los guardados de almacenamiento son correctos.
- Solucione una desconexión de tiempo fijo: investigue el tiempo de espera de WebSocket del proxy, el ingress o el balanceador de carga. Cambiar la configuración de atenuación por vista no solucionará un problema de WebSocket que el proxy haya cerrado.
- Conservar los guardados frecuentes: deja los valores de guardado automático y guardado por inactividad en su configuración actual a menos que tengas una razón específica para cambiarlos.
Modifique la configuración en coolwsd.xml
Para una instalación basada en paquetes, localice el coolwsd.xmlarchivo activo utilizado por el servicio en ejecución. Las ubicaciones comunes incluyen /etc/coolwsd/coolwsd.xml, pero las rutas varían según la distribución y las versiones anteriores. No asuma que editar un archivo de ejemplo o una copia montada no utilizada modifica el servicio en ejecución.
Realice una copia de seguridad del archivo activo y, a continuación, edite únicamente los valores relevantes en las secciones existentes <per_view>. <per_document>Por ejemplo, este fragmento establece un tiempo de espera de 30 minutos para usuarios inactivos, un tiempo de espera de 15 minutos para pestañas en segundo plano y una descarga de documentos inactivos de dos horas:
<per_view>
<idle_timeout_secs>1800</idle_timeout_secs>
<out_of_focus_timeout_secs>900</out_of_focus_timeout_secs>
</per_view>
<per_document>
<idle_timeout_secs>7200</idle_timeout_secs>
</per_document>
Este es un extracto, no una configuración de reemplazo completa. Conserve los atributos, comentarios, anidamiento y demás elementos del archivo incluido con su versión; algunas compilaciones requieren atributos XML adicionales. Si solo desea modificar el nivel de atenuación mientras la pestaña permanece activa, edite únicamente el valor de inactividad por vista. Aumentar simultáneamente los valores por vista y el valor de descarga del documento dificulta determinar qué configuración solucionó el problema.
Valide el XML con las herramientas de configuración compatibles con su implementación y, a continuación, reinicie o recargue Collabora siguiendo el método documentado para ese paquete. Revise los registros de inicio para detectar errores de análisis de configuración y confirme que el proceso en ejecución cargó el archivo previsto. Un cambio de configuración que no esté presente en el proceso activo no tendrá ningún efecto.
Configura las mismas opciones en Docker o Kubernetes.
En la imagen Docker de Collabora, los administradores suelen pasar opciones de configuración mediante extra_paramsla --o:sintaxis de opciones. El siguiente valor al estilo Compose ilustra el mismo ejemplo:
extra_params=--o:per_view.idle_timeout_secs=1800 --o:per_view.out_of_focus_timeout_secs=900 --o:per_document.idle_timeout_secs=7200
Utilice esta opción únicamente si su imagen y gráfico de despliegue lo admiten extra_params. Para Kubernetes, Helm o una instalación gestionada por el operador, introduzca las opciones en el campo de configuración compatible del gráfico o recurso personalizado, en lugar de editar un archivo de contenedor generado. Al modificar las variables de entorno en Compose, vuelva a crear o desplegar el servicio para que los nuevos valores lleguen al contenedor; un simple reinicio puede reutilizar la configuración existente del contenedor.
No configure la misma opción en lugares conflictivos, como un archivo XML montado y un parámetro de entorno, sin antes verificar las reglas de precedencia para esa versión. Después de la redistribución, revise los registros de inicio del contenedor y la configuración activa. El repositorio de código fuente del proyecto Collabora y la documentación de implementación correspondiente a la versión son las referencias adecuadas cuando los nombres de las opciones o el comportamiento del contenedor difieren.
Compruebe los tiempos de espera del proxy inverso por separado.
El editor de Collabora utiliza WebSockets para la comunicación continua con el navegador. Un proxy puede cerrar una conexión WebSocket válida incluso si los tiempos de espera para documentos y vistas de Collabora son mucho mayores. En ese caso, los usuarios pueden experimentar una desconexión, una solicitud de reconexión o que el editor deje de recibir actualizaciones, en lugar de una simple atenuación de la vista.
Compare el tiempo de espera de lectura/envío del proxy, el tiempo de espera de inactividad del balanceador de carga de entrada o de la nube y el comportamiento de sesión previsto por Collabora. Los tiempos de espera deben ser compatibles a lo largo de toda la ruta. La guía de configuración del proxy de Collabora incluye la configuración del proxy WebSocket y ejemplos de conexiones de larga duración. Aplique las instrucciones adecuadas a su proxy y versión específicos; no copie un bloque antiguo de Nginx sin más en un proxy diferente o en una ruta no relacionada.
Una pista útil es el patrón de fallos. Si los usuarios solo ven atenuarse la vista inactiva, examine los registros per_view. Si todos los usuarios se desconectan aproximadamente al mismo tiempo, inspeccione los registros del proxy y del balanceador de carga en ese momento. Si un documento se cierra solo después de que todos los participantes se hayan desconectado, el tiempo de espera por documento es más relevante.
Prueba un tiempo de espera a la vez
- Registre los valores actuales de la configuración activa y anote su versión de Collabora y el método de implementación.
- Abra un documento de prueba con dos usuarios o dos sesiones de navegador para que pueda observar tanto una vista activa como una inactiva.
- Modifique únicamente el tiempo de espera que coincida con el síntoma. Por ejemplo, para evitar que se atenúe en una pestaña activa pero silenciosa, ajuste
per_view.idle_timeout_secssolo el tiempo de espera.
- Reinicie o vuelva a implementar mediante el método compatible y, a continuación, confirme que el nuevo valor aparece en la configuración activa o en los registros de inicio.
- Espere más allá del umbral anterior. Confirme si la vista sigue atenuándose, si el segundo usuario sigue recibiendo actualizaciones y si las ediciones se siguen guardando.
- Cierre todas las vistas del documento de prueba y observe si el documento inactivo se descarga dentro del rango previsto.
- Revise los registros de Collabora y del proxy para detectar cierres de WebSocket, errores de análisis XML, errores al guardar o limpiezas de procesos inesperadas.
No pruebe el cambio en un documento de producción sin guardar. Confirme que los archivos modificados se guarden en el sistema de almacenamiento antes de permitir que un proceso de documento inactivo se descargue. Si el problema solo se presenta con cambios sin guardar, verifique los errores de guardado automático y almacenamiento como un problema independiente en lugar de aumentar el tiempo de espera.
Equilibrar la comodidad, el uso de recursos y la fiabilidad.
Los tiempos de espera más largos entre vistas son ideales para equipos que revisan documentos durante pausas o trabajan con varias pestañas abiertas. Los tiempos de espera más cortos pueden hacer que las vistas inactivas dejen de actualizarse antes, lo que puede reducir la actividad en segundo plano, pero pueden interrumpir a un lector que aún esté viendo el documento. El tiempo de espera por documento es una opción independiente de gestión de recursos: extenderlo mantiene los documentos no utilizados cargados durante más tiempo, mientras que acortarlo puede requerir una nueva carga cuando un usuario regresa.
Para la mayoría de las implementaciones, modifique solo la cantidad mínima de configuraciones necesarias para que coincidan con el comportamiento observado. Conserve los intervalos de guardado, establezca un período de inactividad razonable por vista para el equipo, mantenga el tiempo de espera de la pestaña en segundo plano como intencional y ajuste los límites de WebSocket del proxy únicamente cuando los registros o la sincronización indiquen un problema en la capa de conexión. Vuelva a verificar la plantilla de configuración de la versión instalada después de las actualizaciones, ya que los valores predeterminados y las configuraciones compatibles pueden cambiar.