性能优化
已收录文章:44篇
-
Java 25 把紧凑对象头从实验能力变成产品能力,但它不是所有服务都应立即打开的开关。本文用对象数量、堆占用、GC 次数和锁竞争四个观察点,说明它节省了什么、可能影响什么,以及如何在生产环境做小范围验证。394 收藏
-
页面关闭、跳转或切后台时,上报请求容易被浏览器中断。本文对比 navigator.sendBeacon 与 fetch keepalive 的适用边界,给出请求体、响应处理、幂等键和重复提交验收方法,帮助把离开页面前的轻量数据上报做得更可靠。379 收藏
-
并行流不是把线程数调大就会变快。本文用同一批数据对比串行流与并行流,解释 ForkJoinPool.commonPool 的参与方式、任务粒度、共享资源和压测边界,帮助你在真实服务里做出可复核的选择。378 收藏
-
PHP 8.5 新增 curl_share_init_persistent(),可以在请求之间复用 cURL share handle,减少 DNS 和连接初始化成本。本文从共享选项、FPM 进程边界、连接锁和灰度指标出发,给出一套可回滚的验收方法。363 收藏
-
Go sync.Pool 适合复用短生命周期、可丢弃的临时对象,但 Put 时机和数据残留很容易写错。本文用 HTTP 响应缓冲区小实验说明 Get、Reset、Put 的边界,再用基准测试验证复用是否真的值得。359 收藏
-
MySQL 组合索引不是把常用字段随意拼在一起。本文用等值条件、范围条件和排序三个场景说明列顺序如何影响扫描范围,并给出 EXPLAIN 验收方法。359 收藏
-
同一浏览器打开多个页面时,PHP session 文件锁可能让本来独立的请求串行等待。本文用最小示例定位等待来源,并说明何时提前释放会话、哪些场景不能贸然释放。355 收藏
-
Redis 大 Key 不只是内存占用高,还可能放大删除阻塞、网络响应和主从复制压力。本文从识别、分级、拆分、清理与复查五个环节,给出一套可在生产灰度执行的治理方法。349 收藏
-
Linux 服务出现连接超时,不要先盲目调大内核参数。本文用 ss 区分 LISTEN、SYN-RECV、TIME-WAIT 三类状态,再结合 somaxconn、tcp_max_syn_backlog 和应用 accept 速率定位监听队列瓶颈,给出可复查的调参与回滚步骤。321 收藏
-
文章 · 前端 | 2个月前 | 前端 · 性能优化 · javascript · ResizeObserver ResizeObserver loop completed 表格自适应列宽 前端防抖 ResizeObserverEntry表格列宽跟随容器变化时,ResizeObserver 回调里直接改尺寸,容易让观察回调再次触发,最终出现 ResizeObserver loop completed with undelivered notifications。本文比较同步改宽、requestAnimationFrame 合并和断点缓存三种方案,给出一个可复查的表格列宽实现。301 收藏
-
同一条 MySQL 查询使用预编译参数后可能出现不同执行计划。本文从参数类型、隐式转换、索引可用性和 EXPLAIN 复核入手,给出可回归的排查与改写方法。280 收藏
-
Go 服务把 regexp.Compile 放进请求路径后,p99 往往先于 CPU 告警变差。本文用一组可复现的基线对比,说明预编译、有限缓存和输入边界各自解决什么问题,并给出可验收的 benchmark 方法。271 收藏