MySql 数据库配置优化
-
表示缓冲池字节大小。
推荐值为物理内存的50%~80%。
innodb_buffer_pool_size -
用来控制redo log刷新到磁盘的策略。 innodb_flush_log_at_trx_commit=1
-
每提交1次事务同步写到磁盘中,可以设置为n。 sync_binlog=1
-
脏页占innodb_buffer_pool_size的比例时,触发刷脏页到磁盘。 推荐值为25%~50%。 innodb_max_dirty_pages_pct=30
-
后台进程最大IO性能指标。
默认200,如果SSD,调整为5000~20000
innodb_io_capacity=200 -
指定innodb共享表空间文件的大小。 innodb_data_file_path
-
https://pan.baidu.com/s/1yRDUCayCbwq-URuWYhPFjw?pwd=shvz
-
慢查询日志的阈值设置,单位秒。 long_qurey_time=0.3
-
mysql复制的形式,row为MySQL8.0的默认形式。 binlog_format=row
-
调高该参数则应降低interactive_timeout、wait_timeout的值。 max_connections=200
-
过大,实例恢复时间长;过小,造成日志切换频繁。 innodb_log_file_size
-
全量日志建议关闭。
默认关闭。
general_log=0
内核相关参数(/etc/sysctl.conf)
以下参数可以直接放到sysctl.conf文件的末尾。
1.增加监听队列上限:
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
2.加快TCP连接的回收:
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
3.TCP连接接收和发送缓冲区大小的默认值和最大值:
net.core.wmem_default = 87380
net.core.wmem_max = 16777216
net.core.rmem_default = 87380
net.core.rmem_max = 16777216
4.减少失效连接所占用的TCP资源的数量,加快资源回收的效率:
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
作者:Sufho
链接:https://juejin.cn/post/6844904114250334215
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。