me小怪兽

导航

zabbix-server性能优化

zabbix性能低下的表现

1.    zabbix队列有太多被延迟的item,可以通过administration-queue查看
2.    zabbix绘图中经常出现断图,一些item没有数据
3.    带有nodata()函数的触发器出现flase
4.    前端页面无响应,或者响应慢

解决办法如下:
1. 不要使用默认的模板,应该自己定制模板
2. 数据库调优
3. 架构优化,如果使用分布式,各服务器功能独立
4. Items、trigger调优
5. 更换更好的硬件

Zabbix性能优化的原则

1、确保zabbix内部组件性能处于被监控状态(调优的基础!)
2、使用硬件性能足够好的服务器
3、不同角色分开,使用各自独立的服务器
4、使用分布式部署
5、调整MySQL性能
6、调整Zabbix自身配置

配置文件的参数优化
调整zabbix参数(/etc/zabbix/zabbix_server.conf)
StartPollers=500
StartPollersUnreachable=50
StartTrappers=30
StartDiscoverers=6
CacheSize=1G
CacheUpdateFrequency=300
StartDBSyncers=20
HistoryCacheSize=512M
TrendCacheSize=256M
HistoryTextCacheSize=80M
ValueCacheSize=1G
重启zabbix_server

Zabbix数据库优化
1.    对数据库软件本身的优化,采用更高性能的数据库版本
2.    对数据库本身的参数进行调优
3.    对zabbix数据库结构进行优化,进行分表操作,会最大程度提高zabbix的数据库性能,在分表的时候,需要关闭housekeeper
4.    在zabbix_server.conf中的logshowqueries参数是关于慢查询的设置,将其设置为1000,开启这个参数对慢查询继续记录,方便调优配置
5.  对zabbix的工作机制和各种process的作用要了解,对zabbix的数据库表结构也要有比较好的理解。

6.    对数据库优化(在32G内存的服务器中)
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock
server-id = 1
表示是本机的序号为1
max_allowed_packet = 32M
接受的数据包大小;
max_heap_table_size =128 8M
 定义了用户可以创建的内存表(memory table)的大小。
read_rnd_buffer_size = 512K
 MySQL的随机读缓冲区大小。
sort_buffer_size = 16
 MySQL执行排序使用的缓冲大小。
join_buffer_size = 16
 联合查询操作所能使用的缓冲区大小
query_cache_size = 4096M
MySQL的查询缓冲大小
query_cache_limit = 4M
指定单个查询能够使用的缓冲区大小,默认1M
innodb_open_files =2048
nnodb能打开的表的数据,如果库里的表特别多的情况,请增加这个。这个值默认是300
innodb_buffer_pool_size = 10G
nnoDB使用一个缓冲池来保存索引和原始数据
innodb_thread_concurrency = 16
 默认设置为 0,表示不限制并发数,
 [mysqldump]
quick
max_allowed_packet = 16M #服务器发送和接受的最大包长度
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M


posted on 2022-12-04 23:19  me小怪兽  阅读(838)  评论(0编辑  收藏  举报