性能排查
已收录文章:43篇
-
Java 线程池出现任务堆积时,不要只盯着活动线程数。本文用队列长度、完成任务数和拒绝策略还原排查路径,并给出可复现的状态采样代码。284 收藏
-
MySQL 8.4 的 CTE 不一定会生成临时结果集。本文用 EXPLAIN 和 optimizer_switch 判断 CTE 是被合并还是物化,并说明 derived_merge、NO_MERGE 与多次引用的边界。253 收藏
-
从 PHP-FPM 进程池耗尽的真实信号出发,解释 pm.max_children、慢日志和入口限流如何配合,给出可灰度、可回滚的排查与改造步骤。430 收藏
-
Redis Lua 脚本在单线程执行模型下可能让后续请求排队。本文从接口延迟突然升高的现象出发,用 SLOWLOG、LATENCY 和脚本耗时证据定位阻塞来源,说明超时边界、停止动作与恢复后的反向验证。370 收藏
-
把 time.After 放进高频循环,短时间内不断创建定时器,任务退出时还可能留下难以观察的等待路径。本文从一个轮询超时场景出发,拆解定时器创建、触发、退出和验证边界,并给出可回收的 time.NewTimer 写法。179 收藏
-
进程的 rchar、wchar 很大,不代表磁盘真的读写了同样多的数据。本文用 /proc/PID/io 拆开用户态读写、实际块设备读写和取消写入,给出一套可复查的 Linux I/O 排查方法。224 收藏
-
数据库 · MySQL | 1个月前 | MySQL · 权限 · 性能排查 · mysql SHOW PROCESSLIST performance_schema.threads PROCESS权限 会话诊断线上慢 SQL 需要先确认它属于哪个连接、卡在哪个阶段,再决定是否查看执行计划或终止会话。本文用 SHOW PROCESSLIST 与 performance_schema.threads 还原连接 ID、线程状态、权限边界和复核步骤。399 收藏
-
Redis SORT_RO 是 SORT 的只读变体,适合在只读副本上完成列表、集合或有序集合排序。本文用商品候选列表拆开 LIMIT、GET、ALPHA 的结果边界,解释为什么 SORT 会被导向主节点,以及如何验证查询结果和复杂度风险。475 收藏
-
Chrome DevTools 的 Network 面板可以模拟 Fast 3G、Slow 3G 和 Offline,还能配合 Disable cache 复现加载慢、资源失败和离线兜底问题。本文按真实界面路径说明设置、刷新、观察警告图标与恢复网络的核对方法。330 收藏
-
数据库 · MySQL | 1个月前 | MySQL · sql优化 · 数据库运维 · 性能排查 · MySQL 8.4 SET_VAR optimizer hint sort_buffer_size SQL 性能隔离MySQL 8.4 的 SET_VAR 优化器提示可以只为一条 SQL 临时调整可用系统变量。本文用报表排序场景说明语法、作用域、可调整变量、EXPLAIN 验收和回退边界,避免为了单条慢查询修改整个实例。497 收藏
-
数据库 · MySQL | 1个月前 | MySQL · DDL · 性能排查 · MySQL 元数据锁 metadata_locks performance_schema DDL阻塞 Waiting for table metadata lockMySQL 的 ALTER TABLE 卡住时,不要只盯着 Waiting for table metadata lock。本文用 performance_schema.metadata_locks 和 threads 关联锁对象、等待会话与持有会话,并给出安全终止和发布前检查方法。297 收藏
-
数据库 · MySQL | 1个月前 | MySQL · 索引 · 执行计划 · sql优化 · 性能排查 · 执行计划 MySQL 8.4 EXPLAIN FORMAT=JSON cost_info query_costMySQL 查询慢时,EXPLAIN 的 rows 只是行数估算,真正影响优化器取舍的还包括 cost_info。本文用订单列表场景拆解 query_cost、read_cost、条件评估成本、prefix_cost 的关系,再用 EXPLAIN ANALYZE 复核估算偏差,避免把 cost 数字直接当成毫秒。239 收藏