keyhole操作文档#Maobi可视化性能测试结果实例

Keyhole操作文档

keyhole性能测试

  • mongodb数据库mongos: 192.168.xx.xx:27001

  • keyhole可在个人虚拟机上运行,直连测试环境的mongodb数据库

  • cd $GOPATH/src/github.com/simagix
    cd keyhole
    

    以下命令均可输出结果:

    • ./keyhole -v --info "mongodb://192.168.xx.xx:27001"
      

      推荐以这个命令开启keyhole测试,在多个环境测试均未出现过报错。

    • ./keyhole -v --info "mongodb://192.168.xx.xx:27001/test?connect=direct"
      

      配置 "connect=direct"原因是在操作过程中出现了错误:

      server selection error: server selection timeout, current topology: { Type: ReplicaSetNoPrimary, Servers: [] }
      

      最终排查到问题原因:mongo配置了集群,但是连接时只指定了单节点,mongo没有发现副本节点,所以连接失败。golang 连接 mongo server selection error: server selection timeout, current topology_代码宇宙-CSDN博客

    • Keyhole 使用 --info 和 -v 收集其他配置和统计信息,包含所有收集信息的 JSON 文档被写入一个 gzip 文件,如果命令中未配置 “-v”,将不会有任何结果输出。

  • 输入性能测试命令后,出现下述信息后证明结束:

    2021-07-29T15:40:15+08:00 D GetAllDatabasesStats took 9.70736578s
    bson data written to ./out/mongo1_27010-stats.bson.gz
    MongoDB v4.0.2 community mongo1:27010 (Ubuntu) mongos sharded(6) 8 cores 16046 mem
    
    
  • mongodb性能数据在 “$GOPATH/src/github.com/simagix/keyhole/out/mongo1_27010-stats.bson.gz”

  • keyhole --print $GOPATH/src/github.com/simagix/keyhole/out/mongo1_27010-stats.bson.gz
    # 在out文件夹下输出json格式文件
    

Maobi分析性能数据

  • 启动Maobi(具体安装步骤见 “keyhole操作文档#Maobi(毛笔)安装.md”)

    docker run -d -p 3030:3030 simagix/maobi
    
  • 使用,打开 http://localhost:3030/ ,点击 ”Drop files here to upload“选择 "mongo1_27010-stats.bson.gz"或者将"mongo1_27010-stats.bson.gz"拖动到此窗口中。

  • 注意:在此步骤时可能会出现提示 “unsupported version github/keyhole v1.0.6-20210610”,此信息是指使用的keyhole的版本不是Maobi支持的最新版本,需要安装最新版本的Keyhole并输出分析结果后再用Maobi分析最新的输出结果。

  • 点击"Download"下载分析结果,使用浏览器打开文件即可看到分析结果

分析结果说明

  • MongoDB

    • host connected mongo1:27010
      process mongos
      MongoDB Version 4.0.2
      MongoDB Edition community
      type sharded
      shards shard1/ 192.168.xx.xxx:27001, 192.168.xx.xxx:27001
      shards shard2/ 192.168.xx.xxx:27002, 192.168.xx.xxx:27002
      shards shard3/ 192.168.xx.xxx:27003, 192.168.xx.xxx:27003
    • mongodb版本信息等,包括连接的mongo进程,连接的集群ip端口,mongo集群各分片的信息。

  • Server Info mongo集群各分片信息.

  • DataBase Summary 集群各数据库集合数目,索引大小等信息.

  • Chunks Distribution 数据库各集合在集群分片的分布信息.

  • Collection Stats 各集合的具体数据信息.

    • Number of Documents 96,330,546
      Average Document Size 95
      Data Size 8.5GB
      Indexes Size 3.0GB
      Storage Size 2.7GB
      Data File Fragmentation 0.0%
    • Sample Document 集合数据样本

      {
        "_id": ObjectId("5c917a04f7871772bb8c064f"),
        "code": "device_6t90_010~doubel_key_cl_ljs",
        "timestamp": ISODate("2019-03-20T07:23:48Z"),
        "value": 0
      }
      
    • Indexes 集合索引信息

      key name version unique background expireAfterSeconds sparse partial collation
      1 { _id:1 } id 2 - - - - - -
      2 { code:1, timestamp:1 } code_time 2 - - - - - -
      3 { device:1, code:1, timestamp:1 } device_1_code_1_timestamp_1 2 true - - - - -
    • Indexes Usage

      key size host ops since
      1 { _id:1 } 1014.7MB mongo3:27002 331 2021-05-19T10:17:31Z
      2 { code:1, timestamp:1 } 988.1MB mongo3:27002 629,762,496 2021-05-19T10:17:31Z
      3 { device:1, code:1, timestamp:1 } 1.1GB mongo3:27002 0 2021-05-19T10:17:31Z

如果本文对您的学习工作产生了帮助,请您点击一个免费的赞,您的鼓励是我继续创作的动力!

上一篇:JVM的持久代何去何从?


下一篇:【无为】聊聊java中JVM的方法区