Как использовать pprof mutex / block profiling? - PullRequest
0 голосов
/ 22 ноября 2018

При попытке обнаружить узкое место параллелизма я использую /debug/pprof/mutex и /debug/pprof/block и выводю данные в svg.Обе диаграммы показывают одинаково, DAG со временем по краям, но они показывают совершенно другой график вызовов.Например, я использую пул соединений, функции, связанные с этим соединением, полностью ушли из профилирования блоков, но они являются основным временным вкладом в профилирование мьютекса.

Вот мое понимание:

время на грани профилирования мьютексов - это время, когда goroutines удерживают мьютексы.Время на грани профилирования блоков - это время, когда блокируются подпрограммы.

Так что, если я хочу оптимизировать свою программу для лучшего параллелизма, я должен проверить путь, показанный в «Профилировании блоков», верно?

...