1

Web サーバーを構築し、ab(apache ベンチマーク)テストを行いました。次に、各部分の計算時間を知りたいです。

を使用してgo tool pprof url:port/xxxこのプログラムのプロファイルを取得しましたが、計算時間はわかりません(メモリしかありません)。結果は次のとおりです。

(pprof) top10
1827.59MB of 1978.12MB total (92.39%)
Dropped 175 nodes (cum <= 9.89MB)
Showing top 10 nodes out of 48 (cum >= 43.50MB)
  flat  flat%   sum%        cum   cum%
  769.54MB 38.90% 38.90%   769.54MB 38.90%  reflect.unsafe_New
  459.08MB 23.21% 62.11%   459.08MB 23.21%  services/semanticnew.TopicProbCounter.Update
  189.17MB  9.56% 71.67%  1081.21MB 54.66% github.com/golang/protobuf/proto.(*Buffer).dec_slice_struct
  122MB  6.17% 77.84%      122MB  6.17%  github.com/golang/protobuf/proto.(*Buffer).dec_int32
  107.56MB  5.44% 83.28%   107.56MB  5.44% github.com/garyburd/redigo/redis.(*conn).readReply
  68.13MB  3.44% 86.72%   527.21MB 26.65%  services/semanticnew.caculApPoiScore

  40.51MB  2.05% 88.77%    40.51MB  2.05%  runtime.malg
  28.59MB  1.45% 90.22%    28.59MB  1.45%  net/http.newBufioWriterSize
  22.50MB  1.14% 91.35%       23MB  1.16%  redismanage.(*Manager).getRequest
  20.50MB  1.04% 92.39%    43.50MB  2.20%  redismanage.(*Manager).GetRequest

私の Web プログラムでは、次のコードを追加しました。

f, _ := os.Create("x.cpuprofile")
pprof.StartCPUProfile(f)
defer pprof.StopCPUProfile()

それでもうまくいきません。

http://blog.golang.org/profiling-go-programsを確認しましたが、xxx.profファイルが混乱しました。xxx.profこのファイルを生成するにはどうすればよいですか? と作者が使っgo tool pprof xxx xxx.profていたxxxのですが、 で生成されたバイナリファイルということxxx.goですか?

とにかく、ターゲットは計算時間を取得していますが、どのように? xxx.profこの目標を達成するには、このファイルを生成する必要がありますか?

どうもありがとう

4

1 に答える 1