google gperf-tools使用记录

来源:互联网 发布:mssql 不允许保存更改 编辑:程序博客网 时间:2024/05/18 00:50

      今天对自己的排名服务器进行压力测试和性能分析,之前一直使用的比较顺手的是gprof,但是gprof对多线程的分析无能为力,如果想要支持的话得专门写一个共享库来支持。所以后来尝试了一下使用google-gperftool来进行性能分析。

      google-gperf tools是google用来进行程序性能优化的工具集合,主要包括tcmalloc和profiler。

      tcmalloc不用介绍,是一个高性能的内存管理库,一般主要用来替代glibc中的内存管理。使用也很方便,直接连接tcmalloc的库到程序中即可。

      google gperf-tools的基本使用步骤为:

      1、     去 http://code.google.com/p/gperftools/downloads/list 下载perf-tools的源码;

       2、解压,make ; sudo make install,即可完成安装。

       本文主要谈一下profiler的使用,基本主要分为以下几个步骤。

       1、重新编译程序,链接动态库libprofiler.so;

        2、执行程序,并制定profiler的输出文件,命令行如下: CPUPROFILE=./ranksvr1.prof ./ranksvr1 , 通过CPUPROFILE来指定profile信息输出的文件;

        3、程序执行结束,使用pprof分析prof文件,命令行如下: pprof --text ./ranksvr1 ./ranksvr1.prof > performance.txt, 从performance.txt文件中我们可以看到程序的CPU消耗从而对性能进行分析;

   

        注意: 虽然编译库中提供了静态库,但是不能使用的,不需使用动态库链接libprofiler 才能采集到性能分析数据,这个在源码包的README中有说明的。

原创粉丝点击