近期,巨杉数据库正式推出了完整的 SequoiaDB 工具包,作为辅助工具,更好地帮助大家使用和运维管理分布式数据库。为此,巨杉技术社区将持续推出工具系列文章,帮助大家了解巨杉数据库丰富的工具矩阵。
sdbtop 分析数据库性能
sdbtop 语法
sdbtop -hCommand options:-h [ --help ] help-v [ --version ] version-c [ --confpath ] arg configuration file path, default:conf/samples/sdbtop.xml-i [ --hostname ] arg host name, default: localhost-s [ --servicename ] arg service name, default: 11810-u [ --usrname ] arg username, default: ""-p [ --password ] arg password, default: ""--cipherfile arg cipherfile location, default ./passwd--cipher arg input password using a cipherfile--token arg password encryption token--ssl use SSL connection
Note: 如果提示“Your terminal can’t support color”,则执行 export TERM=linux 或 export TERM=xterm 后再执行 sdbtop 即可。
参数说明:

./sdbtop –i localhost –s 11810
sdbtop组成部分

区域1是头部区域主要包括版本信息(version)、刷新频率(refresh)、数据计算模式(displayMode)、快照模式(snapshotMode)、打印模式(snapshotMode)、快照获取模式(snapshotModeInput)、监控主机名(hostname)、监控端口服务名(servicename)、排序方式(sortingWay)、排序字段(sortingWay)、过滤行号(filtering Number)、登录用户名(usrName)。
区域2是主窗口选择快捷键说明,即进入主窗口后键盘输入快捷键对应不同的功能。




sdbtop监控内容

(1) 数据库会话监控(s)
进入主窗口,按‘s’键,列出数据库节点的所有会话信息。


按‘Tab’键,可以看到屏幕左上方的‘displayMode’的值会发生切换
按‘r’键,在屏幕最下方输入‘2’,回车,设置刷新间隔时间,可以看到屏幕左上方的‘refresh’的值变为 2
按‘A’键,并输入‘TID’,列表结果按照 TID 进行顺序排序
按‘N’键,并输入1,列表中将原来行号为1的记录过滤不显示
按‘W’键,返回没有按行号进行过滤前的列表信息
按‘C’键,并输入‘TID:39895”进行筛选,则只显示 TID 值为39895的记录
按‘Q’键,返回没有按照筛选条件前的列表信息
按‘<’或者‘>’键,可以查看隐藏在左边或者右边的列

(2) 数据库集合空间监控(c)



(3) 数据库系统资源监控(t)



(4) 数据库集群监控(d)



sdbtop配置文件定制
<FieldStruct><deltaName>NetIn</deltaName><absoluteName>NetIn</absoluteName><averageName>NetIn</averageName><sourceField>svcNetIn</sourceField><contentLength>30</contentLength><alignment>RIGHT</alignment><canSwitch>1</canSwitch><deltaColour><foreGroundColor>6</foreGroundColor><backGroundColor>0</backGroundColor></deltaColour><absoluteColour><foreGroundColor>3</foreGroundColor><backGroundColor>0</backGroundColor></absoluteColour><averageColour><foreGroundColor>5</foreGroundColor><backGroundColor>0</backGroundColor></averageColour></FieldStruct>
配置后进入sdbtop即可查询新添加的这些参数信息。
sdbtop诊断问题案例
查询慢问题
select policyno from test.conmainwhere policyno in ( 'PEAD20193412DBM0000073','PEBS201934120000000344','PEBS201934120000000174','PEBS201934120000000345', 'PEBS201934120000000198','PEBS201934120000000347','PEBS201934120000000201','PEBS201934120000000351',…

sdb 'db.test.conmain.createIndex("policyno_index",{"policyno":1})'

导入数据异常问题


#切换到SequoiaDB安装目录下>cd opt/SequoiaDB/bin/#连接集群,未设置的情况下username和password默认都为sdbadmin$ sdb 'db = new Sdb("localhost",11810,"username","password")'#查看协调节点的快照信息$ sdb 'db.snapshot(SDB_SNAP_DATABASE)'{"TotalNumConnects": 244589540332,"TotalDataRead": 78737322975,"TotalIndexRead": 198453345,……"ErrNodes": [{"NodeName": "p_sdb_1:11820","Flag": -79}]}Return 1 row(s).Takes 0.27826s.
查看系统资源
查看集群内存,硬盘系统资源使用情况。进入sdbtop主窗口,按‘t’键,列出数据库集群资源使用情况,按tab键调整输出模式,为AVERAGE时观察集群的写入,读取平均速度。Sdbtop默认刷新频率为3s,可以按r键输入数字调整刷新频率。

查看系统会话情况

总结
往期技术干货巨杉Tech | 基于Kafka+Spark+SequoiaDB实时处理架构快速实战
巨杉Tech | SparkSQL+SequoiaDB 性能调优策略
巨杉Tech | 使用 etlAlchemy 工具迁移数据实战
巨杉Tech | SequoiaDB 巨杉数据库高可用容灾测试
巨杉Tech | 使用 SequoiaDB + Docker + Nodejs 搭建 Web 服务器
巨杉学习笔记 | SequoiaDB MySQL导入导出工具使用实战







