Analizar y reportar problemas de desempeño

16/6/2025
News
Industria:
Open RepositorySpace ExpressEspacio personalizado
Cuando te encuentras con un problema de rendimiento en tu repositorio de DSpace, puede resultar difícil saber por dónde empezar. Esta guía describe los pasos que le ayudarán a describir, investigar e informar sobre los problemas relacionados con el rendimiento. Las recomendaciones que figuran a continuación pueden acelerar el proceso de solución de problemas, pero también ayudan al equipo de desarrollo a comprender y resolver el problema de forma más eficaz.

Reportar problemas de DSpace

Si es la primera vez que informa sobre problemas de DSpace en general, puede encontrar una excelente guía al respecto en la wiki de Lyrasis.

Reduzca el problema

Al denunciar un problema de rendimiento, es bueno empezar por hacerse un par de preguntas

  • Páginas afectadas
    • ¿El problema se limita a una página específica (por ejemplo, la página principal) o a un tipo de página (por ejemplo, todas las páginas de navegación o páginas de elementos)?
  • ¿Se requiere autenticación?
    • ¿El problema se produce solo después de iniciar sesión o también afecta a los usuarios anónimos?
  • Condición desencadenante
    • ¿El problema se produce tan pronto como se carga la página o solo después de interactuar con ella: hacer clic en un botón o escribir en un campo de formulario?
  • ¿Se puede reproducir en la demostración?
    • ¿El problema ocurre solo en tu repositorio o también se puede reproducir en demo.dspace.org?
    • Si es posible, proporciona ejemplos de URL en demo.dspace.org para ayudar a otros a replicar el problema en condiciones conocidas.
  • ¿Circunstancias inusuales?
    • Si el problema es exclusivo de tu repositorio, considera si hay algo inusual en tu configuración.
    • Por ejemplo, un número excepcionalmente grande de colecciones puede provocar retrasos o errores, especialmente si un componente de la interfaz de usuario intenta enumerar o buscar en todas las colecciones.
  • ¿Pantalla de carga atascada?
    • Si ves una pantalla de carga que permanece activa durante mucho tiempo, ¿desaparece al hacer clic en ella?
    • Por lo general, eso es una señal de que la aplicación no es De Verdad cargando durante tanto tiempo, pero hay un error en la interfaz por el que no detectamos que el servidor haya respondido. Al hacer clic, la interfaz de usuario vuelve a ejecutar una serie de comprobaciones, por lo que podría darse cuenta: bueno, hemos terminado de cargar, ocultemos la pantalla de carga

Investigue la actividad de la red

Eche un vistazo al panel de red de las herramientas de desarrollo de su navegador para determinar qué solicitud es la causa del problema.

Cómo acceder al panel de red

  • Cromar: Menú de puntos suspensivos → Más herramientas → Herramientas para desarrolladores → Red
  • Firefox: Menú Hamburger → Más herramientas → Herramientas para desarrolladores web → Red
  • Safari: Barra de menú → Desarrollar → Mostrar inspector web → Red

Leyenda: El panel de red en Chrome:

Tipos de solicitud

  • Solicitudes XMLHttpRequest (XHR)
    • Recuperar datos de la API REST
    • El rendimiento varía según el contenido de tu repositorio
    • Es más probable que el problema sea exclusivo para usted
    • Empieza a buscar aquí
  • Solicitudes de Javascript (JS)
    • Descargue el código para ejecutar la interfaz de usuario
    • Prácticamente idénticos en todos los repositorios
    • Puede indicar problemas con la forma en que se empaqueta la aplicación
  • Solicitud HTML inicial
    • Si es lento, indica un problema con el rendimiento de renderizado del lado del servidor.

La parte superior del panel de red tendrá una forma de filtrar según el tipo de solicitud. En Chrome, se ve así:

Qué buscar

  • Solicitudes de XHR que son muy lentas o que nunca se completan:
    • Esto puede ser una indicación de que el problema está en el back-end.
    • Para probarlo, haga clic con el botón derecho en esa solicitud para copiar su URL y pruébela directamente en el navegador HAL del backend.
Así es como se vería en la pestaña de red. Tenemos una sola solicitud, dirigida al punto final de la comunidad de nivel superior, que tarda más de 20 segundos, por lo que podemos estar bastante seguros de que esta es la causa del retraso.
Aquí puede ver muchas solicitudes idénticas con la etiqueta 1581. Se trataba de un error que se debía a que la respuesta a esa solicitud se consideraba que ya no era válida cuando llegaba, por lo que la solicitud se repetía una y otra vez
  • Casos inciertos:
    • Si no hay ninguna solicitud destacada o no estás seguro, informa del problema al repositorio de frontend. Si lo investigamos más adelante y descubrimos que debería haber sido un problema de backend, aún podemos moverlo.

Exportar tráfico de red (archivo HAR)

  • siempre es útil si incluyes una exportación del tráfico de tu red como un archivo HAR
    • Cromar: Haga clic en el icono de descarga en la barra superior de la pestaña de red
    • Firefox: Haga clic en el icono con forma de engranaje situado en la esquina superior izquierda de la pestaña Red → Guardar todo como HAR. **
    • Safari: Usa el botón de exportación en la barra superior de la pestaña de red
  • Un archivo HAR nos permite ver exactamente qué solicitudes de red se realizaron, en qué orden, cuánto tiempo tardaron y qué contenían las respuestas del servidor
  • No nos mostrará el aspecto de la página, dónde hiciste clic, si se produjo un cambio de contenido, etc. Pero si has seguido los pasos hasta ahora, ya los has incluido

Cuando todo el repositorio es lento

A veces, los problemas de rendimiento no se limitan a páginas específicas, sino que afectan a todo el sitio. En esos casos, la carga en el servidor del nodo podría ser la culpable

Renderización del lado del servidor (SSR) en DSpace

  • La interfaz de usuario de DSpace utiliza la representación del lado del servidor, principalmente para garantizar que los rastreadores de los motores de búsqueda puedan indexar todo sin tener que ejecutar JavaScript.
  • Para cada solicitud que llega, el servidor angular ejecuta el código javascript necesario para generar la página, realiza todas las solicitudes a la API restante para obtener los datos y devuelve el archivo html resultante
  • Se puede usar como un archivo estático para que un rastreador lo indexe
  • O para que un usuario humano ya vea el contenido mientras descarga el código javascript para renderizar el resto de la aplicación en su propio navegador

Rendimiento bajo carga

  • Esto funciona bien si el resto de los servidores angulares tienen muchos recursos y no están bajo una gran carga,
  • pero a medida que aumenta la carga, los recursos que el servidor tiene que gastar en cada solicitud disminuyen y cada solicitud tarda más en procesarse
  • Esta es la razón por la que la capacidad de deshabilitar SSR para ciertas rutas se agregó en DSpace 8 y se refinó en DSpace 9. Consulte el Documentos de DSpace para saber cómo configurar las rutas a las que se aplica
  • Sin embargo, ten en cuenta que, si bien deshabilitar el SSR para muchas rutas puede mejorar considerablemente el rendimiento y el uso de recursos de tu servidor de nodos, también puede afectar tu puntuación de SEO o bloquear casos de uso posiblemente legítimos para los bots, así que tenlo en cuenta.

Conclusión

Los problemas de rendimiento pueden resultar frustrantes, pero con un enfoque estructurado, son mucho más fáciles de diagnosticar y resolver. Al reducir los síntomas, investigar la actividad de la red y proporcionar informes claros (incluidos los archivos HAR cuando sea posible), acelerará considerablemente la resolución de problemas y facilitará que los desarrolladores le ayuden de manera eficaz.

Recuerda: aunque no estés seguro de si el problema es de interfaz o de fondo, siempre es mejor denunciarlo que dejarlo sin resolver. La comunidad y los responsables del mantenimiento de DSpace confían en recibir comentarios claros y prácticos para seguir mejorando la plataforma para todos.

Comparte esto
Póngase en contacto con nosotros

Ponte en contacto

Póngase en contacto con nosotros hoy mismo para analizar sus requisitos únicos y explorar cómo Atmire puede elevar su repositorio a nuevas alturas.

Bajo ninguna circunstancia se compartirán sus datos de contacto fuera de Atmire sin su consentimiento explícito.
¡Gracias! Hemos recibido tu mensaje.

Actualmente estamos recibiendo un número muy alto de entradas en los formularios de contacto, pero queremos comunicarnos con usted lo antes posible. Se prioriza activamente las respuestas a las entradas de los formularios de contacto desde cuentas de correo electrónico institucionales o corporativas (por ejemplo, que no sean de Gmail, Yahoo,...).
¡Uy! Algo salió mal al enviar el formulario.