我有一个用go编写的网络应用程序.业务逻辑并不重要.
问题是我正在努力利用机器的全部功能
当我分析应用程序时,大部分时间都花在运行时的东西上.
似乎ALOT的时间花在runtime.systemstack下
我不明白它的含义或如何提高性能.
我添加了相关慢执行方法的分析.
svg file
问题是我正在努力利用机器的全部功能
当我分析应用程序时,大部分时间都花在运行时的东西上.
似乎ALOT的时间花在runtime.systemstack下
我不明白它的含义或如何提高性能.
我添加了相关慢执行方法的分析.
svg file
如果你进行了cpu profiling(go test -cpuprofile),issue 10609提到“运行时:由于systemstack,cpu profile无用”(
fixed here,Go 1.5)
您可以使用最近的Go 1.10跟踪获得更有趣的视图:请参阅“Using Go 1.10 new trace features to debug an integration test”
go test -trace trace.out go tool trace -http=localhost:8080 trace.out
见example here.您将清楚地看到每个处理器的不活动时间.