1:zabbix是一个写多读少的业务,优化数据库的写入性能,建议使用tokudb存储引擎
2:功能上的优化,精简无用的监控项,适当增加取值间隔,减少数据的保留周期
3:定时任务,分库分表处理
4:进程优化(适当增加进程数)
5:缓存优化(适当增加缓存的大小)
vim /etc/zabbix/zabbix_server.conf
StartPollers=30
默认5 轮询器实例数量 一般规则 -保持此参数的值尽可能低。 zabbix_server的每个附加实例都会添加已知的开销, 同时,并行性增加。当队列平均包含最小参数数量(理想情况下,在任何给定时刻为0)时,实现最佳实例数。
StartPollersUnreachable=60
默认1 不可达主机 (包括IPMI 和 Java)的轮询器实例数量。
StartTrappers=30
默认5 trappers进程实例数量。Trappers接受来自Zabbix发送者、主动agents和主动proxies的传入连接。
至少要运行一个trapper进程来显示前端的服务器可用性和视图队列。
StartPingers=5
默认1 ICMP pingers进程实例数量
StartHTTPPollers=5
默认1 HTTP 轮询器子进程实例个数。
CacheSize=1024M
默认8M 缓存大小,用于存储主机、监控项、触发器数据的共享内存大小。内存溢出问题需要调节此参数。
HistoryCacheSize=128M
默认16M 历史缓存数据大小.存储历史数据.
TrendCacheSize=64M
默认4M 趋势缓存的大小,用于存储趋势数据的共享内存大小。
ValueCacheSize=128M
默认8M 历史数据缓存大小,缓存item历史数据请求的共享内存大小. 0即禁止缓存 (不建议). 当缓存大小超过共享内存时,每5分钟会向服务器日志写入一条警告信息.
LogSlowQueries=3000
默认0(不记录慢查询日志) 数据库查询时间,大于该时间会记入日志 (毫秒). 0 - 不记录慢查询日志.