Skip to content
阅读进度

如何理解综合场景:均值变快但 P95 退化? ​

返回 工程项目复盘 目录

标准回答 ​

教学现象:改为异步初始化后,多数启动更快,但少数样本明显变慢。第一步核对计时口径、进程状态、温度和后台负载是否一致,再将正常与慢样本按线程状态和阶段对齐,避免把环境变化归因于代码。

如果慢样本主线程 Runnable 很长,检查后台并行是否抢占有限核心、配额或频率条件;如果在锁或 Future 上等待,说明依赖仍在或锁持有时间变长;如果出现直接回收、频繁缺页和 I/O 等待,检查同时创建对象与读取资源造成的峰值压力。

对照实验可以限制后台并发、错开内存重任务或移除某项等待,一次验证一个假设。结果需解释改善了哪类样本、是否影响完成时间和持续负载。只看平均值选方案会忽略用户最能感知的长等待。

追问与回答 ​

CPU 使用率低如何解释 ​

阻塞等待、单核心热点或配额限制都可能让整体平均较低,继续沿真正依赖分析。

是否直接提高主线程优先级 ​

只有明确是调度等待且平台允许时才评估,仍要看对其他任务和功耗的影响;锁、I/O 与内存问题不会靠优先级自动解决。

易混淆点 ​

  • 看到异步化就预设所有尾部问题都来自线程太少。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。