Frasco lento en la recuperación de datos de la solicitud de correos

Estoy escribiendo una aplicación de matraz que acepta solicitudes POST con datos json. Noté enormes diferencias en el tiempo de respuesta en función del tamaño de los datos que se pasaron a la aplicación. Después de la depuración, reduje el problema a la línea donde estaba recuperando los datos json del objeto de solicitud. Puede ser importante tener en cuenta que las pruebas se realizaron en el servidor de desarrollo de matraz.

start = time.time()
resp = json.dumps(request.json)
return str(time.time() - start)

He cronometrado esta línea y para datos de 1024 (probablemente no coincidencia) y menos caracteres, esto tomó 0.002s y para cualquier cosa sobre 1024 durante 1 segundo. ¿Que está sucediendo aquí? ¿Es esta la limitación del servidor de desarrollo?

EDITAR: Lo mismo sucede para obtener datos POST a través de request.form.get ('somedata') con una longitud de contenido superior a 1024

EDITAR: no pude replicar el problema con el mismo ejemplo servido por Apache

EDITAR:Comencé a cavar en el módulo Werkzeug y descubrí que se produce lentitud al leer el mensaje de respuestaself._read(to_read) en el módulo wsgi.py que se pasa desde BaseHTTPRequestHandler. Todavía no sé por qué tan lento.

Aquí están los detalles del entorno: Ubuntu - 10.04 Python - 2.6.5 Flask - 0.9 Werkzeug - 0.8.3

Respuestas a la pregunta(2)

Su respuesta a la pregunta