我有一个用 Go 编写的相对较大的 Web 应用程序,它使用Gorilla 的多路复用器进行路由。我最近意识到我的 web 应用程序很慢,我想分析 web 应用程序。
阅读后,似乎net/http/pprof是我需要的。但我不能让它与mux一起运行;即使是最简单的 Web 应用程序。
有谁知道如何使这项工作?
这是一个不起作用的琐碎代码的示例(即在 没有提供任何服务/debug
)。
package main
import (
"fmt"
"github.com/gorilla/mux"
"math"
"net/http"
)
import _ "net/http/pprof"
func SayHello(w http.ResponseWriter, r *http.Request) {
for i := 0; i < 1000000; i++ {
math.Pow(36, 89)
}
fmt.Fprint(w, "Hello!")
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/hello", SayHello)
http.ListenAndServe(":6060", r)
}