zoukankan      html  css  js  c++  java
  • mysql参数总结

    1.innodb_old_blocks_pct 确定modpoint位置,默认37,(3/8=37%)可以通过这个调整young与old比.

    innodb_old_blocks_time:当有大的查询时,可能会将热点数据页从LRU列表中移除,为了避免这个问题可以通过参数innodb_old_blocks_time的修改来实现,该参数表示页读取到mid位置后需要等待多久才会被加入到LRU列表的热端。
    2.缓冲区相关参数:
    InnoDB Buffer Pool:存储InnoDB数据和索引。        ---innodb_buffer_pool_size
    redo log buffer:redo日志缓冲区。               ---innodb_log_buffer_size
    BinLog Buffe:缓存二进制日志的。               --- binlog_cache_size
    Query Cache:存储查询缓存的。                  ---query_cache_size
    Thread Cache:缓存连接线程的。                 ----thread_cache_size
    Table Open Cache:缓存表文件句柄信息的。          ----table_open_cache   
    Key Buffer:缓存MyISAM存储引擎索引键的。          ----key_buffer_size
     
    3.线程相关参数:
    线程栈信息使用内存(thread_stack)

    排序使用内存(sort_buffer_size)

    Join操作使用内存(join_buffer_size)

    顺序读取数据缓冲区使用内存(read_buffer_size)

    随机读取数据缓冲区使用内存(read_rnd_buffer_size)

    连接信息及返回客户端前结果集暂存使用内存(net_buffer_lenth)

    批量插入暂存使用内存(bulk_insert_buffer_size)

    临时表使用内存(tmp_table_size)


    4.数据预热相关参数

    innodb_buffer_pool_dump_pct   --预热数据的百分比.(默认40%)

    innodb_buffer_pool_dump_now = 1   ----采用手工方式把热数据dump到本地磁盘。(默认关闭)

    innodb_buffer_pool_dump_at_shutdown = 1 --在关闭时把热数据dump到本地磁盘。5.7.7以后默认是on

    innodb_buffer_pool_load_at_startup = 1    ---在启动时把热数据加载到内存。(默认关闭)

    innodb_buffer_pool_load_now = 1     ---采用手工方式把热数据加载到内存。(默认关闭)

     

    5.buffer pool

    default_storage_engine(默认存储引擎)      innodb_data_file_path(ibdata1的文件大小及自增)
    innodb_buffer_pool_size(缓存池大小)        innodb_buffer_pool_instances(缓存池个数)  innodb_additional_mem_pool_size(额外内存池的大小)  innodb_file_per_table(是否开启独立表空间)  innodb_buffer_pool_chunk_size(在线修改)

    关闭数据库的时候设置 innodb_fast_shutdown=1,在关闭数据库的时候,会刷新所有脏页到数据库内。fuzzy checkpoint在数据库运行的时候,进行页面的落盘操作,不过这种模式下,不是全部落盘,而是落盘一部分数据。

    6. innodb_buffer_pool其他参数:

     innodb_lock_wait_timeout 事务等待获取资源等待的最长时间,超过这个时间还未分配到资源则会返回应用失败;

    innodb_autoextend_increment:   系统表空间文件每次扩展的大小

    innodb_flush_neighbors={0|1|2}  --临阶页

    参数2:show variables like '%innodb_flush_method%';  --直接设置其值为O_DIRECT即可.

    作用:设置innodb在落盘脏页的时候,绕过操作系统缓存,直接落盘,提高效率.

    innodb_change_buffering = all   --插入缓冲

    innodb_doublewrite     ---doublewrite

    innodb_adaptive_hash_index   ---hash索引


    6.redo相关参数

    innodb_log_buffer_size     --redo buffer大小。默认8M

    innodb_log_files_in_group            ---redo log文件个数,默认2个。

    innodb_log_file_size                    ---每个文件的大小。默认值:5242880 (5M)

    innodb_log_files_in_group * innodb_log_file_size    ---总的redo log大小。

    innodb_flush_log_at_trx_commit        ---落盘机制。

    7.undo相关参数

     innodb_undo_directory = /home/mysql3306/mysql3306/   ----配置undo目录

    innodb_undo_logs = 128 #must >=35.default 128

    innodb_undo_tablespaces = 3       #must >=2    ---undo文件个数(必须大于2)

    innodb_undo_log_truncate = 1       -----开启在线回收功能.(5.7默认关闭,8.0默认开启)

    innodb_max_undo_log_size = 1000M      ----undo单个文件最大值,即回收阀值.

    innodb_purge_rseg_truncate_frequency = 128

    8.IO相关参数

    1. 参数innodb_write_io_threads  写线程 默认四个,负责数据块的写入

    2. 参数innodb_read_io_threads 读线程 ,默认四个,负责数据块的读取,上面两个参数高并发下,可以设置为8

    3.innodb_purge_threads    --purge线程个数

    innodb_io_capacity(落脏个数

    innodb_write_io_threads(IO) 

    innodb_read_io_threads(IO)   

    innodb_page_cleaners(刷脏频次)

    MySQL5.6中,开启了一个独立的page cleaner线程来进刷lru list flush list。默认每秒运次1.

    MySQL5.7 可设置多个page cleaner线程提高脏页刷新效率 ;

      15.6版本以前,脏页的清理工作交由master线程的;

      2Page cleaner thread5.6.2引入的一个新线程(单线程),从master线程中卸下buffer pool刷脏页的工作独立出来的线程(默认是启一个线程)

      35.7开始支持多线程刷脏页;

    show global status like '%wait_free%';如果值很大,则需要增加innodb_page_cleaners值,同时增加写线程。

  • 相关阅读:
    支付宝H5、APP支付服务端的区别(php)
    微信小程序快速转成百度小程序的方法
    pm2命令管理启动的nodejs项目进程
    CentOS7 宝塔搭配git 实时更新项目源码
    CentOS7 搭建GIT环境
    Json数据交互
    HTML标签大全
    Java集合
    JavaSE基础知识
    idea2019版本及以下全家桶永久破解
  • 原文地址:https://www.cnblogs.com/lbg-database/p/10109941.html
Copyright © 2011-2022 走看看