| 维度 | 时间域 (Time Domain) | 频率域 (Frequency Domain) |
|---|---|---|
| 侧重点 | 关注操作的执行顺序和事件的时间序列,强调操作之间的因果关系 | 关注操作的发生频率和统计分布,强调热点的定位 |
| 优势 | 擅长找出操作发生的原因 (“为什么”),适合查找延迟和阻塞问题 | 擅长找出性能瓶颈的具体位置 (“哪里”),适合识别资源密集型操作 |
| 常用工具 | strace, ltrace, Intel PT,专用领域调试工具 | perf, vtune, emon 等性能分析工具 |
| 盲点 | 处理海量数据时容易遇到“干草堆问题”,难以从大量数据中找出问题 | 不擅长识别系统空闲或“睡眠”状态的时间,容易忽略非活动周期 |
| 数据收集方式 | 以事件顺序为基础,逐步记录系统调用、函数调用和执行路径 | 通过采样和统计,收集操作的发生频率和持续时间 |
| 适用场景 | 调试复杂操作链路,查找事件之间的因果关系,例如多线程的死锁分析 | 识别程序中的“热点代码”,帮助找出最耗费资源的部分,如 CPU 使用分析 |
| 分析结果类型 | 产生事件的详细顺序、时间戳、调用栈等详细信息 | 生成统计数据,如 CPU 使用率、函数调用频率、资源消耗量 |
| 典型应用实例 | 排查系统崩溃的调用链、分析应用的启动顺序、跟踪特定请求的执行路径 | 找出 CPU 使用率最高的函数,识别内存占用过高的模块,性能基线分析 |
文档信息
- 本文作者:Lei Luc Shi
- 本文链接:https://lucshi.github.io/2024/01/01/opt-thinkings-dimensions/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
