8.31笔记innodb存储引擎的核心参数:

innodb存储引擎的核心参数:
innodb_flush_log_at_trx_commit=1/0/2
回看上面解释。
双一标准之一:redo_log 刷写参数。
=1时在每次事务提交时立即刷新redo到磁盘,commit成功
=0时每秒刷新日志到os cache,fsync到磁盘,异常宕机时会丢失1秒内事务
=2时每次事务提交都立即刷新redo buffer 到os cache再每秒fsync()刷新到磁盘
异常宕机会丢失1秒内事务。

1.目前默认是1,安全方式。另外redobuffera跟操作系统的缓存机制有关系
2.redo还有group commit的功能。可以理解为每次刷新已提交redo
顺便将未提交的redo一起刷新到磁盘。为了区分不同状态的redo会增加特殊标记


innodb_flush_method=fsync/O_DIRECT/O_DSYNC
作用:控制mysql刷写磁盘时是否使用os_cache
fsync不更改的话会被mysql日志和会话内存刷到os_cache中
默认的是fsync,运行时间久了会出现OOM
innodb_buffer_pool_size(设置很大)=80%*total
fsync建议特性:
    buffer_pool  在落盘时都会经过os_cache再落盘
    redo_buffer  在落盘时都会经过os_cache再落盘。
O_DSync:
    buffer_pool与fsync是一样的。
	redo_buffer 在落盘时则会越过不经过os_cache
O_direct(生产建议)
    buffer_pool:在落盘时则会越过不经过os_cache
	redo_buffer:在落盘时会经过os_cache再落盘
因为直接落盘产生I/O,所以建议O_direct配合ssd盘。

3,必设置:innodb_buffer_pool_size
作用:数据缓冲区总大小,缓冲数据页和索引页,是mysql的最大内存区域
默认:128M
官方建议:80-90% 物理内存
生产建议:75%以下 按需设置

show engine status\G (看引擎相关参数和状态)
使用建议:
最高安全模式
innodb_flush_log_at_trx_commit=1
Innodb_flush_method=O_DIRECT
最高性能:
innodb_flush_log_at_trx_commit=0
Innodb_flush_method=fsync
redo日志有关的参数:
innodb_log_buffer_size=16777216
innodb_log_file_size=50331648
innodb_log_files_in_group = 3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值