您的位置
主页 > 经验心得 » 正文

Twitter开源高分辨率遥测工具Rezolus,轻松捕获系统性能异常瞬间

来源:www.jz265.com 点击:1663

twitter昨日宣布了开源的rezolus,这是一种高分辨率的遥测代理,旨在检测性能异常和峰值利用率,而这些异常和峰值利用率往往太短,无法通过常规观测和系统指标捕获。rezolus有助于量化工作负载,提供数据以推动优化,并已用于诊断运行时性能问题。Twitter已经在Rezolus上运行了一年多。

“rezolus提供了一系列信号来帮助我们理解细粒度的运行时行为。我们发现它对理解和优化性能特别有帮助,”博主布莱恩马丁在博客中写道。“使用单一的代理,我们可以从多种来源获得遥测数据。据我们所知,没有其他开源项目能够在一个包中展示如此全面的洞察力。”

据martin说,rezolus的诞生是为了理解系统在细粒度时间尺度上的性能。当运行非常高吞吐量的综合基准测试时,twitter工程师有时会遇到短暂的性能异常,但是现有的遥测技术的采样率相对较低,因此无法反映这些异常。

这是因为,根据采样定理,采样率必须至少是最短脉冲持续时间的两倍,才能准确地反映脉冲群的强度,而且大多数遥测产生一个小的时间序列。相比之下,rezolus可以在更精确的时间尺度上精确地测量性能退化。

Rezolus允许配置采样率,因此开发人员可以将分辨率与峰值长度匹配,而不会消耗太多资源。在10 Hz采样时,它可以反映200毫秒或更长的突发,足以满足Twitter上的大多数服务。同时,在这种情况下,它只占用不超过15%的CPU和60 MB的内存。

可切换的插件采样器使Rezolus能够从各种来源收集遥测,包括来自Linux内核源的计数器和仪器,以获取有关CPU利用率,网络利用率和磁盘利用率的遥测。这些采样器也可根据需要进行配置。

最后,Martin写道:“开源Rezolus标志着这个项目的一个重要里程碑,我们希望Rezolus对Twitter以外的其他人有用,我们期待围绕它建立一个社区。”