Ceilometer Polling Performance Improvement

Ceilometer的数据采集agent会定期对nova/keystone/neutron/cinder等服务调用其API的获取信息,默认是20秒一次,

# Polling interval for pipeline file configuration in seconds.

# (integer value)

#pipeline_polling_interval = 20

这在大规模部署中会对OpenStack服务节点造成很大压力,增加节点CPU负载。

在Ceilometer的L版本中有一个针对性的改进来cache住API返回中的meta data,resource-metadata-caching

meta data占据很大的数据比例,而且不进场更新。

同时使用了NOVA API中新的参数the Changes-Since request parameter

通过增量变化+原有的cache来拼凑出完整的信息,以此来减少OpenStack服务节点的压力。

根据RH的测试,10 computes nodes, 200 virtual machines, and polling was set to every 5 seconds的情况下可以是nova服务节点的CPU利用率减少70%。

 这个改进的工作量并不是很大,却可以显著的提高ceilometer的性能。

原文地址:https://www.cnblogs.com/allcloud/p/5420538.html