loopbackio / loopbackio/loopback-next
Loopback/rest stringifies the responce which takes time and hangs the app
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 5.1k
- Forks
- 1.1k
- Merge medio
- 2 d 21 h
- PR fusionados (30 d)
- 27
Descripción
Describe the bug
I have a loopback 4 application where I have API which returns large data 500000 records to explain the problem I have added the jaeger trace
if you see 1) is my API which has responded in 7-8 sec but the complete API took 12-13 sec
I want to know what happens in those remaining 5-6 sec?
I debugged the API and found out that the control goes to loopback/rest where it is stringifying the response that too using JSON.stringify() and not asyncrously
what happens is that during this time all other requests goes pending in my case liveliness check goes pending and as per my configuration if liveliness failed the container restarts .
how to fix this problem ?
Logs
No response
Additional information
Can we do a faster stringify?
or maybe make this asynchronous? I am ready to contribute
Reproduction
.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en la ruta de respuesta de loopback/rest descrita en el issue y reprodúcela con una API que devuelva 500,000 registros. Mide el tiempo empleado en JSON.stringify y si las comprobaciones de actividad siguen pendientes durante la serialización. Se considera terminado cuando se hayan abordado el retraso de respuesta informado y el comportamiento de bloqueo de las solicitudes, y el resultado se haya verificado con el mismo escenario de respuesta grande.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- node.js, typescript
- Área
- api, backend, performance
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 25/100