如何减少 Zabbix 数据库服务器中的 history_uint table 大小?

How to reduce history_uint table size in Zabbix database server?

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

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

处理 DB 大小的最佳方法是实施分区(参见 here and here)并将 innodb 与 innodb_file_per_table = 1.

一起使用

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

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

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

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

历史值确实存储了来自主机的 retrieved/received 每个项目值。 只要定义了历史存储期,它们就会存储。 当 运行.

时,管家会从历史 tables 中删除这些值

所以要么在您的项目中减少数据采集的频率and/or减少历史记录的存储时间。

还要确保内部管理 运行 并且配置正确。

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