2011-11-22 15 views
36

Estoy ejecutando la barra de herramientas Dyango Debug para perfilar mi sitio y tratar de descubrir por qué ciertas vistas tardan tanto. Ha sido inmensamente valioso con respecto a ver qué consultas estoy ejecutando y cuánto me están costando, pero no puedo entender cómo leer el panel de tiempo.Django Debug Toolbar: entendiendo el panel de tiempo

He buscado por todos lados documentación sobre esto pero parece que no encuentro nada. Debo mencionar que soy un programador autodidacta, relativamente nuevo, por lo que estos pueden ser términos que se supone que son familiares para el programador experimentado.

Aquí está la salida:

Resource   Value 
User CPU time 3760.000 msec 
System CPU time 340.000 msec 
Total CPU time 4100.000 msec 
Elapsed time  4625.453 msec 
Context switches 248 voluntary, 467 involuntary 

Puede alguien ayudarme a averiguar cómo leer esto, y lo que cada uno de los valores representa?

Gracias.

+0

¿Cree que crear instancias de clases en una Vista y llamar a sus métodos puede llevar a cambios de contexto más involuntarios/voluntarios? aplausos – Luchux

Respuesta

41

tiempo de CPU del usuario: El momento en que su código del lado del servidor se ha quedado al procesar la solicitud

CPU Sistema de tiempo: El código del sistema operativo en tiempo llamado por el código del lado del servidor se ha quedado al procesar la solicitud

tiempo de CPU total: tiempo total para responder plenamente una vez que la solicitud fue recibida (usuario + sistema)

tiempo transcurrido: tiempo transcurrido desde que se realizó la solicitud.

Interruptores de contexto: Esto tiene que ver con los hilos. Los interruptores voluntarios son momentos en que un hilo dormía espontáneamente (generalmente para esperar que ocurra algo de procesamiento que necesita continuar), mientras que los interruptores involuntarios son momentos en que el sistema obligaba a un hilo a dormir para ejecutar otro hilo (generalmente parte de procesos asincrónicos). En realidad, es algo del sistema de bajo nivel, que no podría hacer justicia aquí. Si está interesado en obtener más información, solo busque "cambio de contexto".

+2

gracias @Chris eso es muy útil. la página tiene mucha imagen, por lo que los datos me llevarían a creer que la razón principal del lento tiempo de carga es la representación real de la página, ¿correcto? la barra de herramientas también dice que las consultas sql tardaron 900 ms en ejecutarse, pero el tiempo total de CPU del sistema es solo un tercio de eso, ¿cómo concilio esos dos puntos de datos? ¡Gracias! –