1、性能调优思路
. 不要使用默认的模板,应该自己定制模板
. 数据库调优
. 架构优化,如果使用分布式,各服务器功能独立
. Items、trigger调优
. 更换更好的硬件
2、性能调优参数zabbix_server.conf
StartPollers=160 #增加处理zabbix 数据的进程数
StartPollersUnreachable=80 #增加recheck的进程数
StartTrappers=20 #增加建立agent连接传输进程数
StartPingers=100
StartDiscoverers=120 #增加发现功能进程
StartHTTPPollers=60 #http检测
CacheSize=1024M #增加主机,监控项等配置缓存
startDBSyncers=16 #增加写入db进程
HistoryCacheSize=1024M #增加历史数据缓存
TrendCacheSize=1024M #增加trend数据缓存
重启
3、Tigger中正则表达式函数last()nodata()的速度是最快的,Min(),max().avg()是最慢的,尽量使用速度快的函数
4、mysql数据库优化
[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