我有一个问题,我的Zabbix数据库服务器的history_uint
表太长。占用57GB空间。因此,查询需要更多的时间来执行。
如何减少空间并加快查询速度?
答案 0 :(得分:1)
处理数据库大小的最佳方法是实现分区(请参见here和here),并在innodb_file_per_table = 1
中使用innodb。
每个分区只有一个文件,每天轮换一次,这将删除旧的分区并释放一些空间。
此设置可以解决访问历史记录时的一些性能问题,但这还取决于项目的保留时间,项目数,数据库服务器的负载和基础磁盘等。>
答案 1 :(得分: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