YashanDB ystop.sh
YashanDB ystop.sh
1 概述
ystop.sh 是 YashanDB 的交互式性能监控工具,用于实时监控数据库活动。通过按键切换不同的监控视图。
2 基本用法
# 默认连接本地数据库 |
3 快捷键说明
| 快捷键 | 功能 | 说明 |
|---|---|---|
| d | Database overview | 数据库监控大盘,显示 TPS、响应时间、数据库大小、Buffer 命中率、VM 使用、等待事件等 |
| D | Database detail | 数据库详细运行指标,显示系统运行统计信息 |
| b | Buffer pool | 缓冲区池使用状况 |
| s | Top SQL | 显示 TOP SQL,可按多种指标排序 |
| z | Select orderby column | 在 Top SQL 视图下选择排序字段 |
| l | Lock & Spinlock | 显示锁和自旋锁统计 |
| L | Lockwait | 显示锁等待详细信息 |
| S | Session | 显示会话状况和当前运行的 SQL |
| t | Tablespace | 显示表空间使用状况 |
| T | Table | 显示表的数据和索引大小 |
| w | Wait event | 显示系统等待事件 |
| m | Memory pool | 显示内存池配置参数 |
| v | Version | 显示版本信息 |
| q | Quit | 退出 |
4 监控指标说明
4.1 Database Overview (d 键)
- Transactions per second:TPS,每秒事务数
- Response time(µs):响应时间(微秒)
- REDO Blocks per second:每秒产生的 REDO 块数
- SQL statements per second:每秒 SQL 语句数
- DB size(GB):数据库大小
- Data buffer:数据缓冲区大小及命中率
- VM blocks:VM 总块数 / 空闲块数 / 换出块数
- Dirty queue length:脏页队列长度
- Sessions:最大会话数 / 当前会话数 / 活跃会话数
- Top wait event:TOP 等待事件
- Top spinlock:TOP 自旋锁
- Top SQL by cpu_time:按 CPU 时间排序的 TOP SQL
- Running SQL:当前正在运行的 SQL
4.2 Top SQL 排序字段 (s 键后按 z 选择)
| 字段名 | 说明 |
|---|---|
| executions | 执行次数 |
| parse_calls | 解析调用次数 |
| cpu_time | CPU 时间 |
| elapsed_time | 耗时 |
| application_wait_time | 应用等待时间 |
| avg_time_ms | 平均执行时间(毫秒) |
| disk_reads | 磁盘读取数 |
| buffer_gets | 缓冲区获取数 |
4.3 Wait Event (w 键)
显示系统发生的等待事件,包括:
- event:等待事件名称
- total_waits:总等待次数
- time_waited:总等待时间
- avg_waittime:平均等待时间
- wait_class:等待事件类别
5 常用场景
5.1 性能瓶颈定位
- 按 d 查看监控大盘,观察 TPS 和响应时间
- 按 w 查看等待事件,找出 TOP 等待事件
- 按 s 查看 TOP SQL,分析慢 SQL
- 按 S 查看当前会话和正在执行的 SQL
5.2 内存问题排查
- 按 b 查看 Buffer Pool 使用情况
- 按 m 查看内存池配置
- 按 d 查看 VM 使用情况(Total/Free/Swapout)
5.3 锁问题排查
- 按 l 查看锁和自旋锁统计
- 按 L 查看锁等待详细信息
5.4 存储问题排查
- 按 t 查看表空间使用情况
- 按 T 查看表的数据和索引大小
6 配置参数
6.1 默认参数
| 参数 | 默认值 | 说明 |
|---|---|---|
| DBURL | sys/yasdb_123@0.0.0.0:1688 | 数据库连接串 |
| ROWSRETUEN | 30 | 返回行数 |
| TOPN | 5 | TOP 显示数量 |
| SLEEPINTERVAL | 5 | 刷新间隔(秒) |
6.2 修改刷新间隔
编辑 ystop.sh 文件,修改 SLEEPINTERVAL 参数:
SLEEPINTERVAL=10 # 修改为10秒刷新一次 |
7 常见问题
7.1 连接失败
确保数据库服务正常运行,连接串正确:
# 测试连接 |
7.2 权限不足
确保运行 ystop.sh 的用户有权限执行 yasql 命令。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.