pg_monitor 查询 慢sql + 压测导致CPU高的的解决思路
1. ---查超10秒 汇总 sql
SELECT
datname,
usename,
query,
COUNT (*)
FROM
pg_monitor
WHERE
ts >= '2021-08-07 14:00:00'
AND ts <= '2021-08-07 14:30:00'
AND query NOT LIKE '%autovacuum%'
GROUP BY
datname,
usename,
query
ORDER BY
COUNT (*) DESC;
2. ----查询top 耗时
SELECT
*, mean / 1000 AS "单次平均时间(秒)"
FROM
pg_top_day
WHERE
ts >= '2021-08-07 14:00:00'
AND ts <= '2021-08-07 14:30:00'
ORDER BY
percent DESC;
3. 杀超过10秒的sql
select --* pg_terminate_backend(pid) From pg_stat_activity where query_start<=now()- interval'10 sec' and state not in ('idle') and pid<>pg_backend_pid() and query ilike 'select%' order by query_start ;
4. 压测导致CPU高的的解决思路
top -c -> 拿到pid select explain analyze 增加索引or 修改代码
用一个例子来演示会更加清晰
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2019-08-07 蓝鲸排错的方法 + 白皮书