11、mysql配置优化

max_connections

最大连接数,每个连接都会占用一定的内存,在查询时传输数据占用内存会加剧,所以要根据系统内存合理配置最大连接数,防止过多占用内存。

一个连接最少占用256KB,最大64M,超过时会使用硬盘临时存放。

系统大部分内存要分配给buffer pool以提高查询性能,所以连接所占内存需要有一定的限制。

max_user_connections

用户最大连接数,必须要小于max_connections,否则当连接数被应用程序耗尽时,管理员无法连接数据库。

back_log

连接等待数,当max_connections连满后,mysql允许等待的数量,超过时会被拒绝连接。

wait_timeout

用户连接空闲等待时间,默认28800秒,为防止应用程序占用资源,可以调整几百秒

interactive_timeout

数据库管理端空闲等待时间

innodb_thread_concurrency

innodb线程最大并发数,默认值为0,不限制并发数,该参数要参考CPU最大核心数,若并发数远大于核心数,会造成锁竞争严重,影响性能。

一般设置为CPU核心数的2倍或1倍。

innodb_buffer_pool_size

innodb的buffer pool大小,尽量调大, 一般设定为给mysql分配的总内存的60%-70%

innodb_lock_wait_timeout

行锁超时时间,默认50秒,按业务类型设定

innodb_flush_log_at_trx_commit

redo log 的写入策略,存在3个策略,一般选1,安全优先

0 事务提交不写磁盘,继续存放在redo log buffer中, 数据库宕机丢数据

1 默认值,每次提交事务都会写入磁盘, 最安全

2 提交事务,写入到操作系统文件缓存 page cache, 服务器宕机丢数据

sync_binlog

sync_binlog的写入策略,一般选1,安全优先。

0 默认值,提交事务都只写到系统文件缓存page cache,性能有提升,但操作系统宕机后会丢失数据。

1 提交事务会执行fsync写入到磁盘,安全性最高。

n n>1,提交事务后先写文件缓存page cache, 等积累n个事务后再写磁盘,折中方案。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值