Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

161
Vistas
Problemas de rendimiento de Graphene-python para grandes conjuntos de datos

Actualmente usando graphene-python con graphene-django (y graphene-django-optimizer).

Después de recibir una consulta de GraphQL, la consulta de la base de datos se completa con éxito en una fracción de segundo; sin embargo, el grafeno no envía una respuesta por otros 10+ segundos. Si aumento los datos que se envían en la respuesta, el tiempo de respuesta aumenta linealmente (triple los datos = triplica el tiempo de respuesta).

Los datos que se recuperan se componen de objetos anidados, hasta 7 capas de profundidad, pero con las consultas optimizadas esto no afecta el tiempo necesario para recuperar los datos de la base de datos, por lo que asumo que la demora tiene que ver con graphene-python analizar los resultados en la respuesta de GraphQL.

No puedo entender cómo perfilar la ejecución para determinar qué está tomando tanto tiempo: ejecutar cProfiler en Django no parece estar rastreando la ejecución de grafeno.

El tiempo de respuesta de la consulta SQL se determinó utilizando el middleware graphene-django-debugger, los resultados se muestran a continuación:

 "_debug": { "sql": [ { "duration": 0.0016078948974609375, "isSlow": false, "rawSql": "SELECT SYSDATETIME()" }, { "duration": 0.0014908313751220703, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.0014371871948242188, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.001291036605834961, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.0013201236724853516, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.0015559196472167969, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.0016672611236572266, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.0014820098876953125, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.0014810562133789062, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.001667022705078125, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.0014202594757080078, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.0027959346771240234, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.002704143524169922, "isSlow": false, "rawSql": "SELECT [redacted]" }, { "duration": 0.0030939579010009766, "isSlow": false, "rawSql": "SELECT [redacted]" } ] }

La siguiente captura de pantalla muestra el tiempo de respuesta correspondiente del servidor para esa misma solicitud: Captura de pantalla de los tiempos de respuesta de publicación de Chrome DevTool Network

Si alguien sabe por qué el grafeno tardaría tanto en crear la respuesta, o podría ayudarme a perfilar la ejecución del grafeno, ¡lo agradecería mucho!

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

perfilar el método en el que se inicia la ejecución del grahene.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda