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.
- Por lo general, se encuentra en https://the.repository.url/server así que https://demo.dspace.org/server por ejemplo
- Si había iniciado sesión cuando se produjo el problema, inicie sesión también primero en el navegador HAL
- Luego pega el enlace en el campo de entrada de la esquina superior izquierda y haz clic en ir.
- Si lleva tanto tiempo allí, es probable que se trate de un problema de backend, así que infórmalo en https://github.com/DSpace/dspace/issues

- Patrones de solicitud de XHR repetidos:
- Si ves un patrón de solicitudes repetidas en rápida sucesión, es probable que se trate de un error en la interfaz. Denúncialo en https://github.com/DSpace/dspace-angular/issues.

- 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.
- 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.
