ES,ZK,Mysql相关参数优化


1、ES 内存调优:
vi config/jvm.options
-Xms16g
-Xmx16g

2、Zookeeper参数配置调优
2.1在conf目录下
vi java.env
export JVMFLAGS="-Xms2048m -Xmx2048m $JVMFLAGS"
2.2调优相关zoo.cfg参数
vi conf/zoo.cfg
skipACL=yes
globalOutstandingLimit=100000
autopurge.snapRetainCount=3
autopurge.purgeInterval=24

skipACL=yes,忽略ACL验证,可以减少权限验证的相关操作,提升一点性能。
globalOutstandingLimit=100000 客户端连接过多,限制客户端请求,避免OOM
日志文件自动清除
autopurge.snapRetainCount=3 # The number of snapshots to retain in dataDir
autopurge.purgeInterval=24 # Purge task interval in hours Set to "0" to disable auto purge feature

3、Mysql参数配置调优

vi /etc/my.cnf

#表示是本机的序号为1,一般来讲就是master的意思
server-id = 1
# 禁止MySQL对外部连接进行DNS解析
skip-name-resolve
#字符集设置
character_set_server=utf8
#当主要MySQL线程在一个很短时间内得到非常多的连接请求
back_log = 600
# MySQL的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量
max_connections = 1000
# 当open_file_limit被配置的时候,比较open_files_limit和max_connections*5的值,哪个大用哪个。
open_files_limit = 65535

table_open_cache = 128
# 接受的数据包大小
max_allowed_packet = 16M
binlog_cache_size = 1M
max_heap_table_size = 8M
tmp_table_size = 16M
read_buffer_size = 2M
read_rnd_buffer_size = 8M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 16
query_cache_size = 8M
query_cache_limit = 2M
key_buffer_size = 4M
transaction_isolation = REPEATABLE-READ
log_bin = mysql-bin
binlog_format = mixed
#超过30天的binlog删除
expire_logs_days = 30
slow_query_log = 1
#慢查询时间 超过1秒则为慢查询
long_query_time = 1
slow_query_log_file = /usr/local/data/mysql/mysql-slow.log
#默认存储引擎
default-storage-engine = InnoDB
innodb_write_io_threads = 8
innodb_read_io_threads = 8
innodb_thread_concurrency = 0
innodb_purge_threads = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 2M
# 此参数确定数据日志文件的大小,更大的设置可以提高性能,但也会增加恢复故障数据库所需的时间
innodb_log_file_size = 32M
# 为提高性能,MySQL可以以循环方式将日志文件写到多个文件。推荐设置为3
innodb_log_files_in_group = 3
# innodb主线程刷新缓存池中的数据,使脏数据比例小于90%
innodb_max_dirty_pages_pct = 90
innodb_lock_wait_timeout = 120
bulk_insert_buffer_size = 8M
wait_timeout = 28800

原文地址:https://www.cnblogs.com/atomicbomb/p/9341672.html