DBAtlas · 数据库运维图谱

生成性能报告(AWR / ASH 及等价工具)

Oracle

-- AWR report (SQL*Plus):
@?/rdbms/admin/awrrpt.sql
-- ASH report: @?/rdbms/admin/ashrpt.sql
-- Live: SELECT * FROM v$active_session_history WHERE sample_time > SYSDATE-1/24;

AWR/ASH 需要 Diagnostics Pack 许可。Statspack 是无需许可的等价工具。

PostgreSQL

-- pg_stat_statements summary + pg_profile/pgBadger:
SELECT queryid, calls, total_exec_time, mean_exec_time, query
FROM pg_stat_statements ORDER BY total_exec_time DESC LIMIT 20;

AWR 的等价方案:使用 pg_profile 扩展(定期快照)或 pgBadger 日志分析。

MySQL

-- sys schema summaries:
SELECT * FROM sys.statement_analysis LIMIT 20;
SELECT * FROM sys.io_global_by_file_by_bytes LIMIT 10;

sys schema 将 performance_schema 转换为易读的报告;Enterprise Monitor 更为全面。

SQL Server

-- Query Store reports (SSMS) or:
SELECT TOP 20 * FROM sys.query_store_runtime_stats ORDER BY avg_duration DESC;

Query Store 持续保存执行计划/性能数据;sp_BlitzFirst(社区工具)可快速诊断。

MongoDB

# Live from the shell: mongostat --rowcount 10 ; mongotop
// or Atlas Performance Advisor / profiler:
db.system.profile.find().sort({millis:-1}).limit(20)

mongostat/mongotop 显示瞬时负载;profiler 记录慢操作。

Redis

INFO stats
redis-cli --latency-history
SLOWLOG GET 20

--latency 和 --latency-history 给出延迟概况;INFO 给出所有计数器。

Elasticsearch

GET _nodes/stats
GET _cat/thread_pool?v&h=node_name,name,active,queue,rejected
GET _nodes/hot_threads

hot_threads 显示开销最大的线程;_nodes/stats 给出整体指标。Monitoring(Kibana)提供历史数据。

在 DBAtlas 中打开 →