Atom feed of this document
  

 数据存储

  1. 我们建议你避免开放式的查询。为了获得更好的性能,你可以使用合理的时间范围或者是其它获取测量的查询条件。

    举例来说,此开放式的查询会返回不可预料的数据量:

    $ceilometer sample-list --meter cpu -q 'resource_id=INSTANCE_ID_1'

    而此良好的查询会返回更多合理的数据量,而且更加的快:

    $ceilometer sample-list --meter cpu -q 'resource_id=INSTANCE_ID_1;timestamp>2015-05-01T00:00:00;timestamp<2015-06-01T00:00:00'
                

  2. 你可以在API之后安装 mod_wsgi,因为它提供了更多的设置来调整,正如WSGIDaemon下的threadsprocesses

    [注意]注意

    关于如何配置mod_wsgi的更多信息,请参阅 安装文档

  3. 由Telemetry项目所提供的收集服务并不想成为一个归档服务。设置生存时间(TTL)值给过期数据和数据库的最小规模。如果你想长时间的保存你的数据,你应考虑将它们存储在Telemetry之外的数据仓库中。

    [注意]注意

    更多关于如何设置TTL的信息,请参考 TTL 支持的各种后端

  4. 我们建议在Juno之前的版本后端不要使用SQLAlchemy,因为它包含无关的关系来处理废弃的数据模型。而这会导致极度低下的查询性能。

  5. 我们建议你不要让控制器和MongoDB运行在同一台服务器中。将它们保持分离对于快速存储的优化会带来更佳的性能。我们也建议为MongoDB节点配置大量的内存。

    [注意]注意

    更多关于你需要多大内存的信息,请参考 MongoDB FAQ

  6. 在MongoDB中使用副本设置。副本设置通过自动的失效切换来实现高可用。如果主节点宕机了,MongoDB会选举出第二个节点来替代主节点,集群整体的功能不受影响。

    更多关于replica设置的信息,请参考 MongoDB replica 设置文档

  7. 使用MongoDB的分区。分区可帮助跨多台机器的存储数据记录,且MongoDB可满足数据日渐增长的需求。

    关于分片的更多信息,请参考 MongoDB 分片文档

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...