配置参数优化
innodb_buffer_pool_size:如果是单实例且绝大多数是InnoDB引擎表,则可以设置为物理内存的50%~80%左右。
innodb_flush_log_at_trx_commit 和sync_binlog:分别是redo log刷新和binlog刷新的参数。如果要求数据不能丢失,建议把这两个参数都设置为1。这就是数据库汇总的双一概念,可以保证主从架构中数据的一致性。但想要保证其强一致性,主从故障切换过程中不丢失数据,可以考虑使用MYSQL5.7的增强半同步功能。
innodb_max_dirty_pages_pct:该参数是指脏页占innodb buffer pool的比例。当比列到达所设置的值时,触发刷脏页到磁盘。不要将该参数设置太大,脏页过多也会影响数据库的TPS。该值建议调整为25%~50%。
innodb_io_capacity:innodb后台进程最大的I/O性能指标,影响刷新脏页和插入缓冲的数量。默认值是200,在高转速磁盘下,可以适当提高该参数的值。SSD磁盘配置下可以调整该值为5000~20000,PCIE-SSD可以调整得更高(50000左右)。
innodb_data_file_path=ibdata1:1G:autoextend:该参数不要使用默认的10MB大小,一般设置为1GB.防止在高并发情况下,数据库受到影响。
long_query_time:该参数在5.5版本以上已经可以设置为小于1了,建议设置该参数值为0.1~0.5s.记录那么执行较慢的sql,便于后续的优化性能排查。
binlog_format:建议binlog的记录格式设置为row模式,让数据更加安全可靠,复制过程中不会出现丢失数据的情况。
interactive_timeout,wait_timeout:两个参数分别代表交互式等待时间和非交互式等待时间 ,两个参数设置的值要一致,且必须同时修改,建议调整为300~500s,不要取默认值8小时。
max_connections:数据库最大连接数,不要盲目去调大连接数的数量,应该注意优化业务中的SQL语句,让SQL快速执行完成,可以释放掉连接。一味的提高连接数的值,容易发生OOM现象,从而可能“kill”掉MYSQL服务,所以一定谨慎调高该值。在调高参数的同时,还应该调低interaction_timeout和wait_timeout的值。
innodb_log_file_size:redo log的值不要太大,如果值太大,当实例恢复时,会消耗大量时间;值太小也会造成日志切换过于频繁。
gerenal log:全量日志建议关闭,否则该日志文件会越来越大,造成磁盘空间的紧张,MYSQL的性能也会逐渐下降。
配置文件
[mysqld]
innodb_purge_threads=4 #启用purge线程,来回收已经使用并分配的undo页,分摊master线程的压力。数字4表示启用4个purge线程。
innodb_page_cleaner=1 #数据页清理线程,脏页的刷新操作,减轻master线程的压力。
innodb_log_buffer_size=16M #重做日志缓冲池,一般8M够用,因为主线程一秒会刷新一次,事务提交的时候会刷新一个,且缓冲池剩余空间小于1/2时,也会把缓冲刷新到日志文件。
innodb_fast_shutdown=1 #数据库关闭时,将所有脏页都刷回磁盘。
innodb_max_dirty_pages_pct=50 #默认值为75。
log_queries_not_using_indexes=1 #记录没有用到索引的查询语句到慢查询日志。
log_throttle_queries_not_using_indexe默认为file,也可以将值设为table,然后就可以查询mysql架构下的slow_log表了。此参数为动态参数。
log-bin=name #二进制文件名。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了