`

_log_io_size

UP 
阅读更多

_log_io_size

Parameter type boolean Default value 0
Parameter class static Range of Values unknown

 

Syntax: _log_io_size = integer


Automatically initiate log write if this many redo blocks in are in the buffer. The default setting of 0 will automatically determine the proper threshold based the size of the log buffer. There are two classes of LGWR writes: background writes, and sync writes. The distinction is merely as to whether another process has to wait for the log write to complete.

A background write by LGWR can be triggered in either of two ways. Whenever a process allocates space in the log buffer, the number of used log buffer blocks is calculated. This calculation is based on the two SGA variables mentioned above, and is performed under the protection of the redo allocation latch. If the number of used blocks is greater than or equal to the number of blocks specified by _log_io_size, and if LGWR is not already active, then it is posted to perform a background write. The default value for _log_io_size is 1/3 of the log buffer expressed in log blocks (with an upper bound equivalent to 1M under Oracle8).

If more than this number of log buffer blocks are used, then the redo allocation latch is released and the redo writing latch is taken to check whether LGWR is already active.

When LGWR is waiting to be posted, it sleeps on an rdbms ipc message wait with a timeout of 3 seconds (as does DBWn). A background process write may also be performed if this sleep times out and LGWR finds that there is some redo available to write.

The most common cause of log sync writes is the end of a transaction. When a process finishes a transaction, normally with a commit, it generates a commit marker in the redo stream. However, the transaction is not recoverable until the log block containing that commit marker has been flushed to disk. Therefore, before the process finishing the transaction can continue, it must wait for LGWR to flush that log block to disk. That process therefore posts LGWR and then sleeps on a log file sync wait with a timeout of 1 second. If several commits occur in distinct transactions before LGWR wakes up, then the commit markers are all flushed to disk in a single sync write. This is sometimes called a group commit.

分享到:
评论

相关推荐

    MySQL5.6基本优化配置

    - `innodb_log_file_size` 设置为4GB,增加重做日志文件大小,有助于处理大量写操作。 - `innodb_log_buffer_size` 设为8MB,用于在将日志刷新到磁盘之前存储事务日志,减少磁盘I/O。 3. **InnoDB Transaction ...

    可以改善mysql性能的InnoDB配置参数

    10. **innodb_log_file_size**:数据日志文件的大小直接影响事务日志的容量,更大的设置可以减少磁盘I/O,但恢复时可能需要更长时间。 11. **innodb_log_files_in_group**:设置日志文件的数量,用于循环记录事务...

    MYSQL数据库技术分享.ppt

    5. 磁盘IO优化:通过调整磁盘IO参数,例如sync_binlog、innodb_flush_log_at_trx_commit等,来提高MYSQL数据库的性能。 MYSQL数据库慢SQL定位与分析 MYSQL数据库慢SQL定位与分析是MYSQL数据库性能优化的重要步骤。...

    MYSQL数据库技术分享.pptx

    * innodb_log_buffer_size:磁盘速度是很慢的,直接将log写道磁盘会影响InnoDB的性能,该参数设定了log buffer的大小。 文件参数 * datadir:设置数据库文件存放位置。 * character-set-server:设置字符集,例如 ...

    MySQL数据页功能性能测试innodb-page-size

    7. `innodb_log_files_in_group`、`innodb_flush_log_at_trx_commit`、`innodb_log_file_size` 和 `innodb_max_dirty_pages_pct` 与事务日志和脏页处理相关,确保事务安全性和性能平衡。 测试工具 Sysbench 被用来...

    MySQL和IO 上1

    首先,MySQL的文件系统包含多种类型的文件,如数据文件(*.frm, *.ibd)、数据字典(ibdata1, ibdata2)、事务日志(ib_logfile0, ib_logfile1)、回滚日志、归档日志(binlog)和中继日志(relaylog),以及各种...

    InnoDB性能优化参数详解.docx

    9. **innodb_log_buffer_size**:设置事务日志缓冲区的大小,较大的缓冲区可以提高性能,但需考虑在故障时可能丢失的数据。建议值介于1MB至8MB之间。 10. **innodb_log_file_size**:定义单个日志文件的大小,直接...

    Mysql安装入门

    innodb_log_file_size=128M innodb_log_files_in_group=3 log-error=/data/mysql/log/error/mysql_error.log slow_query_log_file=/data/mysql/log/slow/mysql_slow.log general_log_file=/data/mysql/log/...

    生成系统日志

    调用 exeQuery 接口时出现异常:System.IO.IOException: 该进程无法访问文件“e:\syslog\sells_log\att_log\2005\10\7\Att_log_2005_10_7_15.txt”,因为该文件正由另一进程使用。 at System.IO.__Error....

    MYSQL数据库技术分享PPT教案学习.pptx

    - `innodb_log_buffer_size`是日志缓冲区大小,设定得足够大以避免频繁写入磁盘。 3. **文件参数**: - `datadir`指定了数据库文件的存储位置。 - `character-set-server`设定全局字符集,这里是utf8。 - `...

    my.cnf-调优

    - **innodb_log_buffer_size**: InnoDB日志缓冲区大小。 - **innodb_log_file_size**: InnoDB日志文件大小。 - **innodb_log_files_in_group**: InnoDB日志组中文件数量。 - **innodb_max_dirty_pages_pct**: 允许脏...

    zabbix数据库优化

    innodb_log_file_size 是 MySQL 的另一个重要参数,对其进行调整可以提高 MySQL 的性能。一般情况下,innodb_log_file_size 应该设为 64M。 其他优化方法 除了以上方法外,还有其他的优化方法,可以根据实际情况...

    java.sql.SQLSyntaxErrorException:

    从报错信息看是因为innodb_log_file_size太小,至于原因,在 mysql 5.6中,对innodb_log_file_size做了限制,如果存在blob字段,则innodb_log_file_size必须至少是最大单行数据的10倍大小。查了

    MySQL的Innodb引擎配置说明.txt

    内容包括: 1.MySQL的Innodb引擎配置 1.如何配置MySQL服务器的最大连接数量 2.如何配置innodb_open_files,table_open_cache,innodb_file_io_threads和innodb_buffer_pool_size,innodb_log_file_size

    多实例mysql的安装和管理_wing.docx

    - **innodb_log_buffer_size=16M** 和 **innodb_log_file_size=512M**:InnoDB重做日志缓冲区和文件大小,对于保证事务的持久性非常重要。 - **innodb_log_files_in_group=3**:一个组中重做日志文件的数量。 - **...

    Asp.net System.IO.Log.dll 动态库

    Description: System.IO.Log.dll Version: 3.0.4506.30 Size: 131,072 字节) Directory: %programfiles%\Reference Assemblies\Microsoft\Framework\v3.0\System.IO.Log.DLL Operating System: Windows xp SP3

    mysql数据库my.cnf配置文件

    innodb_log_file_size = 268435456 # 此参数确定数据日志文件的大小,更大的设置可以提高性能,但也会增加恢复故障数据库所需的时间 innodb_log_files_in_group = 3 # 为提高性能,MySQL可以以循环方式将日志文件写...

    Oracle数据库优化之数据库磁盘IO

    4. 分布I/O减少磁盘竞争:将数据文件和redo log文件分开,Striping表数据,分开表和索引,减少与oracle无关的磁盘I/O。 5. 避免动态空间管理:在创建表或回滚段的数据库实体时,确定动态扩展,分配分区,避免回滚段...

    mysql就地升级

    innodb_log_buffer_size=8M innodb_io_capacity=2000 innodb_max_dirty_pages_pct=50 innodb_flush_method = O_DIRECT innodb_write_io_threads=6 innodb_read_io_threads=6 slave_parallel_workers=4 transaction-...

Global site tag (gtag.js) - Google Analytics