MySQL 参数 io高_MySQL调优参数

本文探讨了MySQL参数对IO性能的影响,包括动态和静态参数的设置,如innodb_data_file_path、innodb_flush_log_at_trx_commit、innodb_max_dirty_pages_pct等。建议调整初始化大小、脏页刷新策略、插入缓存大小和InnoDB缓冲池内存等,以提升数据库性能并确保数据安全性。此外,还提到了连接超时、事务隔离级别、并发线程数和慢查询日志等关键设置。
摘要由CSDN通过智能技术生成

参数类型

分为动态参数和静态参数。

动态参数:通过set global和set session进行设置。

静态参数:需要修改my.cnf文件,然后重启实例生效。

表空间

定义表空间路径、初始大小(默认10m)、自动扩展策略(默认64m)

Innodb_data_file_path

初始大小建议调整为1G。

双一模式

双一模式:保证数据更安全 innodb_flush_log_at_trx_commit=1 sync_binlog=1

脏页刷新

双一模式分别是redo log和binlog的内存到文件到磁盘的刷新机制。这里是对数据到磁盘的刷新机制。

innodb_max_dirty_pages_pct,表示脏页所占的百分比,默认75%。设置为25%-50%,避免后期刷新时影响TPS。

innodb_adaptive_flushing,自适应刷新,默认开启的。

插入缓存

提高DML操作性能。

innodb_change_buffer_max_size,建议调为50。

InnoDB缓冲池内存大小

innodb_buffer_pool_size,服务器只跑数据库一个应用,建议调为内存的50%-80%。可以支持在线修改,所以前期可以不用设置太大。

innodb_buffer_pool_instance,提高并发性,避免出现内存争用。默认为1,建议设置为8。

服务器关闭交互式连接前等待的时间

interactive_timeout

wait_timeout

两个参数设置值一致,避免过大的连接时间,默认28800(8小时),建议设置为300-600s

事务的隔离级别

transaction_isolation,包含四个隔离级别。默认是REPEATABLE-READ,可重复读。

可同时打开的.idb文件数

innodb_open_files

默认是300,建议调整为65535。

MySQL最大连接数

max_connections,默认是151。

连接量超过就会常见的"too mang connections"。

设置得过大容易出现实例宕机。

InnoDB并发线程数

innodb_thread_concurrency,建议调整为服务上CPU核数的两倍。

慢查询

slow_query_log,建议开启

long_query_time,默认10s,慢查询超时则记录日志

log_queries_not_using_indexes,没有使用索引的sql,同样记录到慢查询日志。

服务器节点唯一标识

server_id,默认是0

IO性能指标

innodb_io_capacity,默认200,使用ssd可以调高参数。

《MySQL王者晋级之路》 张甦(sū)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值