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