关于minio pprof的使用

minio server 调试数据收集官方提供了相关命令,不需要我们手动去修改任何配置,使用起来也比较方便。

  1. 开启pprof数据收集

    mc admin profile start --type "TYPE" ALIAS

    "TYPE":
    • cpu

    • mem

    • block

    • mutex

    • trace

    • threads

    • goroutines

    如果不指定type参数,则默认收集cpu,mem,block这三类数据;若需要指定多种类型,则用逗号分隔即可。比如:

    mc admin profile start --type "cpu,mem,block" ALIAS

    "ALIAS":

    alias参数指代minIO host的别名,即与s3服务关联起来的名称,因此需要先设置目标别名,如:

    mc alias set minioserver http://** accesskey secretkey

    required参数:

    • url
      兼容s3服务器端点的url,如 https://minio.example.net

    • accesskey
      s3服务认证的access key

    • secretkey
      s3服务认证的secret key

    optional参数

    • api
      连接s3服务时使用的签名计算方法,支持:
      -- "S3v4"(default)
      -- "S3v2"

Note:
AWS Signature V2 is considered deprecated by AWS. mc alias set includes this option only for S3 buckets or services still reliant on the Signature V2.
Use S3v4 unless explicitly required by the S3-compatible service. MinIO server does not rely on nor require S3v2, nor are all API operations available on S3v2.

  • path
    设置指定服务器使用的bucket路径查找,支持:
    -- "auto" (default)
    -- "on"
    -- "off"

注: mc alias set 命令表示添加或者更新minio client本地配置信息,不会影响minio服务的运行。若别名已经存在,则更新已存在别名的信息。且在虚拟机重启之后,所添加的别名会失效,即如果需要进行pprof的相关操作,则应该重新设置别名。

PS:可以通过命令 mc config host list 查看minio进程的配置,配置可以看到它的地址、AccessKey、SecretKey等相关信息。mc alias list 可查看本地的别名信息。

因此,别名设置好后,最终执行 mc admin profile start --type "cpu,mem,block ..." minioserver/命令,所指定的调试数据就开始收集了。

  1. 停止数据收集

mc admin profile stop minioserver

输出打印信息:mc: Profile data successfully downloaded as profile.zip

收集的数据通过stop命令停止后,自动打包存档profile.zip并下载到当前目录。其中包含一个或多个.pprof文件。使用pprof go实用程序读取文件数据。

  1. 使用pprof go分析profile数据

    go tool pprof democpu.pprof

进入pprof的交互模式,使用相关指令分析数据结果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基本介绍 pprof 是在做性能优化前的性能分析工具。 安装: go get -u github.com/goog...
    Robin92阅读 23,056评论 0 5
  • 基本介绍 pprof是go语言内置 的分析性能,分析数据的工具,pprof开启后,每隔一段时间(10ms)就会收集...
    春夏秋冬zzz阅读 1,494评论 0 1
  • 一、基础环境 操作系统:CentOS 7.x Minio在线演示 Minio下载 二、准备工作 2.1、机器资源 ...
    _自由人生_阅读 1,165评论 0 1
  • Awesome GitHub Topic for Go Awesome Go golang-open-source...
    Liam_ml阅读 3,881评论 2 14
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,131评论 19 139