性能优化
已收录文章:32篇
-
MySQL 组合索引不是把常用字段随意拼在一起。本文用等值条件、范围条件和排序三个场景说明列顺序如何影响扫描范围,并给出 EXPLAIN 验收方法。359 收藏
-
同一浏览器打开多个页面时,PHP session 文件锁可能让本来独立的请求串行等待。本文用最小示例定位等待来源,并说明何时提前释放会话、哪些场景不能贸然释放。355 收藏
-
Redis 大 Key 不只是内存占用高,还可能放大删除阻塞、网络响应和主从复制压力。本文从识别、分级、拆分、清理与复查五个环节,给出一套可在生产灰度执行的治理方法。349 收藏
-
Linux 服务出现连接超时,不要先盲目调大内核参数。本文用 ss 区分 LISTEN、SYN-RECV、TIME-WAIT 三类状态,再结合 somaxconn、tcp_max_syn_backlog 和应用 accept 速率定位监听队列瓶颈,给出可复查的调参与回滚步骤。321 收藏
-
同一条 MySQL 查询使用预编译参数后可能出现不同执行计划。本文从参数类型、隐式转换、索引可用性和 EXPLAIN 复核入手,给出可回归的排查与改写方法。280 收藏
-
Go 服务把 regexp.Compile 放进请求路径后,p99 往往先于 CPU 告警变差。本文用一组可复现的基线对比,说明预编译、有限缓存和输入边界各自解决什么问题,并给出可验收的 benchmark 方法。271 收藏
-
搜索框快速输入时,慢请求可能晚于新请求返回,旧结果就会覆盖当前关键词。本文用请求序号、AbortController 和有限并发预算拆解竞态边界,并给出取消、回收和键盘操作下的验收办法。260 收藏
-
Java Stream 做分组统计时,先收集再多次遍历容易放大内存和 CPU 成本。本文用订单状态统计说明 groupingBy、groupingBy+下游收集器与并行流的边界,并给出可复查的基准与选择方法。260 收藏
-
MySQL 生产表在线加索引时,真正需要盯住的是 DDL 算法、元数据锁和回滚条件。本文用一套可执行的检查流程,说明如何先判断可用算法,再观察阻塞与进度,最后用低风险方式完成变更。230 收藏
-
用 Java 25 的 jdk.incubator.vector.FloatVector 改写批量 float 计算,讲清 preferred species、lane 宽度、尾部掩码、模块参数和标量回退的验收方法。211 收藏
-
EXPLAIN 的 filtered 很低不等于索引失效。本文用可复现实验拆开 rows、filtered、实际扫描行数与统计信息之间的关系,给出索引、ANALYZE TABLE 和回归验证的判断顺序。205 收藏
-
Redis Pipeline 能减少网络往返,但批次过大可能让回复堆积、客户端内存上涨,甚至拉高尾延迟。本文用基线、批次对比和分位数验收说明什么时候该拆批。204 收藏