Cloud Profiler 概览
众所周知,想要准确衡量生产系统的性能是十分困难的。在测试环境中衡量性能所做的尝试,通常无法准确再现生产系统面临的压力。对应用的一些部分进行微基准测试有时可行,但它通常也无法准确再现生产系统的工作负载和行为。
当服务在其工作环境中运行时,要探索 CPU 周期和内存等资源用在了何处,持续剖析生产系统的性能不失为一种有效方式。不过,性能剖析过程会给生产系统带来额外负载:要让用户接受这种探索资源耗用模式的方式,性能剖析过程带来的额外负载必须很小。
Cloud Profiler 是一个低开销的统计性能剖析器,可从生产应用中持续收集有关 CPU 使用率和内存分配情况的信息。它会将获得的信息归因于生成这些信息的源代码,从而帮助您识别应用中资源耗用量最大的部分,还可以阐明应用的性能特征。
可用的性能剖析类型
Cloud Profiler 支持基于编写程序所采用的语言来执行不同类型的性能剖析。下表汇总了各语言支持的性能剖析类型:
| 性能剖析类型 | Go | Java | Node.js | Python |
|---|---|---|---|---|
| CPU 时间 | 是 | 是 | 是 | |
| 堆 | 是 |