Подтвердить что ты не робот

Панель инструментов Django Debug: понимание временной панели

Я запускаю панель инструментов Django Debug для профайла моего сайта и пытаюсь выяснить, почему некоторые взгляды занимают так много времени. Это было очень ценно в отношении того, какие запросы я запускаю и сколько они меня ценят, но я не могу понять, как читать панель времени.

Я повсюду оглядывался вокруг какой-то документации, но, похоже, ничего не нашел. Я должен упомянуть, что я самоучка, относительно новый программист, поэтому это могут быть термины, которые, как предполагается, знакомы опытному программисту.

Вот результат:

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

Может ли кто-нибудь помочь мне разобраться, как это прочитать, и что представляет каждое из значений?

Спасибо.

4b9b3361

Ответ 1

Время пользовательского процессора: время, когда ваш серверный код работал во время обработки запроса

Время системного процессора: код операционной системы, вызываемый вашим серверным кодом, выполнялся при обработке запроса

Общее время процессора: общее время для полного ответа после получения запроса (пользователь + система)

Истекшее время: время с момента запроса.

Контекстные коммутаторы. Это связано с потоками. Добровольные переключатели - это времена, когда нить спала сама по себе (обычно ждать, чтобы какая-то обработка произошла, что она должна быть продолжена), в то время как непроизвольные переключатели - это время, когда система заставляла поток спать, чтобы запустить другой поток ( обычно часть асинхронных процессов). Это на самом деле довольно низкоуровневый системный материал, который я не мог отдать должное здесь. Если вам интересно узнать больше, просто найдите "переключение контекста".