【问题标题】:How to reduce history_uint table size in Zabbix database server?如何减少 Zabbix 数据库服务器中的 history_uint 表大小?
【发布时间】:2019-02-20 08:54:49
【问题描述】:

我有一个问题,我的 Zabbix 数据库服务器的 history_uint 表太长。它需要57GB的空间。因此,执行查询需要更多时间。

如何减少空间并加快查询速度?

【问题讨论】:

    标签: zabbix


    【解决方案1】:

    正如表名所暗示的,它是存储整数数据类型的历史值的地方。

    拥有更小的表的唯一方法是存储更少的历史记录。

    历史记录值确实存储从主机检索/接收的每个项目值。 只要定义了历史存储周期,它们就会被存储。 然后,内务管理会在运行时从历史记录表中删除这些值。

    因此,要么在您的项目中减少数据采集频率和/或减少存储历史记录的时间。

    还要确保内务管理正在运行并正确配置。

    https://www.zabbix.com/documentation/4.0/manual/config/items/history_and_trends

    https://www.zabbix.com/documentation/4.0/manual/installation/requirements#database_size

    【讨论】:

    • 但我的表只包含三个月的数据。出于这个原因,我需要所有的数据。
    • 还有趋势数据可能涵盖您的需求。请问您的客房服务在运行吗?
    • 五个值@Andre Schild
    • 你确定吗?如果每秒 5 nv,您就不会拥有这种大小的数据库。做db dump的时候,sql文件也这么大吗?
    【解决方案2】:

    处理数据库大小的最佳方法是实现分区(参见herehere)并将innodb 与innodb_file_per_table = 1 一起使用。

    每个分区只有一个文件,每天轮换一次,这将删除旧分区并释放一些空间。

    此设置可以解决访问历史记录时的一些性能问题,但它还取决于您的项目的保留时间、项目的数量、数据库服务器的负载和底层磁盘等。

    【讨论】:

      猜你喜欢
      • 2016-11-11
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 2013-03-20
      • 1970-01-01
      • 2013-03-09
      • 1970-01-01
      相关资源
      最近更新 更多