博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[MySQL 5.6] 5.6新参数
阅读量:5812 次
发布时间:2019-06-18

本文共 4259 字,大约阅读时间需要 14 分钟。

hot3.png

Server 层参数
Table cache  #对table cache进行划分,减少table cache的锁竞争
Meta data lock    # 对server层的metalock hash进行划分     #metadata lock cache的大小,这是总的大小,可以适当调大来提升并发度
Slow_log

   #当打开  时,该变量用于限制每分钟写入slow log的日志条数

控制项    #用于控制在创建临时表时使用的存储引擎,默认为innodb

disconnect_on_expired_password #用于控制客户端如何处理失效的密码,默认打开

    #影响timestamp类型column的行为,具体见文档中的参数说明

   #存储host名字与iP的cache size

   #使用,分割,用于控制是否忽略DATA目录下的db目录

Server id

     #由系统自动生成的id,记录在data_dir/auto.cnf文件中,最好不要去尝试修改它

优化器

   #用于控制优化器的行为,5.5也有该参数,但5.6能够控制更多的优化器行为,具体见 

   #用于优化in(),以确认是否直接使用索引统计,在where条件中列的等值条件个数小于这个值时,使用index dive来估算行数,否则使用index statistics来估算;设置为0则禁用index statistics, index dive更准确但效率低,具体说明见 

Optimizer trace

performance schema

大量用于控制PS表大小的参数,以Performance_schema_作为前缀,不一一列出

Replication/gtid

Replication/crash safe

   #是以文件(FILE) 还是表(table)的方式记录relaylog坐标信息

  #是以文件(FILE) 还是表(table)的方式记录binlog信息

   #在读取binlog时(例如show binlog events),是否需要去检查checksum,默认关闭

Replication/control option

   #备库复制worker线程数

      #在并发复制时总共执行这么多次事务后做一次checkpoint,更新show slave status的数据

    #在复制执行这么长时间后做一次checkpoint

    #在多线程复制时,在队列中Pending的事件所占用的最大内存,默认为16M,如果内存富余,或者延迟较大时,可以适当调大;注意这个值要比主库的max_allowed_packet大

   #备库是否允许批量更新,只用于ndb cluster

   #备库SQL线程是否检查binlog的checksum

Replication/binlog

   #默认为CRC32,表示使用该算法记录binlog checksum,设置为NONE,则关闭checksum

   #表示在做group commit之前多长时间从刷新队列读取事务。默认值为0,表示没有超时,直到队列为空为止

binlog_order_commits     #开启该选项时,事务提交顺序和binlog记录顺序是相同的,默认打开;设置为关闭时,事务提交顺序可能是并行的;关闭可能提升性能

              #binlog记录格式

binlog_rows_query_log_events   #行模式下,是否记录query

      #默认关闭,表示使用v2版本的binlog格式,打开的话,则使用之前版本的binlog格式

Innodb层

Innodb buffer pool restore/dump

 .

flush strategy

   #新参数O_DIRECT_NO_FSYNC,在IO时使用O_DIRECT,但不再随后做fsync,可以参考bug#45892的描述;这种配置不适合一些文件系统,因为metadata没有被fsync到磁盘

   #影响page  cleaner 线程一次扫描LRU/UNZIP_LRU的深度,默认为1024,IO能力强的可以适当调大

   #该值表示redo log的一个最低容量限制百分比,默认为10,当没有达到这个值时,则不会page cleaner线程不会根据redo来判断是否刷页,细节见函数af_get_pct_for_lsn

  ##防止在到达innodb_max_dirty_pages_pct时疯狂刷新,而是在达到这样一个限定值时,开始“优雅”的做刷新脏页(预刷新)。详细见函数af_get_pct_for_dirty

  #当flush操作落后太多时,可能会做一些非常有侵略性的刷新(超过指定的innodb_io_capacity),这会影响到正常的业务,指定这个值,可以限制io capacity的上限,减少对正常应用的影响

 #这个选项可以控制adaptive flush对工作负载变化的响应速度。在这么多次loop内,innodb会保持上次的刷新状态快照不变,增加这个值有助于刷新操作更加平稳,而减小这个值有助于对工作负载的变化更快的调整adaptive flush,不过,如果设置的过小的话,在突然增大/减小的工作的负载中,容易引起性能尖峰

    #当innodb_flush_log_at_trx_commit设置为2时,表示超过这么多秒,刷日志

Change buffer

   #changebuffer占用bp的最大比例,默认为25

全文索引

innodb_ft_aux_table

innodb_ft_cache_size

innodb_ft_enable_diag_print

innodb_ft_enable_stopword

innodb_ft_max_token_size

innodb_ft_min_token_size

innodb_ft_num_word_optimize

innodb_ft_server_stopword_table

innodb_ft_sort_pll_degree

innodb_ft_user_stopword_table

innodb_optimize_fulltext_only

索引统计

#物化统计信息,默认打开

#当打开innodb_stats_persistent选项时,这个设置才生效

#当关闭innodb_stats_persistent选项时生效,采样page数(尤其是后者)不应该设置的太大,否则会产生额外的IO开销,但也不应设置的太小,否则会导致查询计划不准确

#用于决定是否在表上存在大量更新时(超过10%的记录更新)重新计算统计信息。默认打开,如果关闭该选项,就需要在每次创建索引或者更改列之后,运行一次ANALYZE TABLE命令来更新统计信息,否则可能选择错误的执行计划。同样的,也可以在CREATE TABLE/ALTER TABLE命令中指定STATS_AUTO_RECALC值

Compressed table

#定义压缩表的压缩级别,在具有较好压缩特性的数据集上,可以适当调小该值,还获得更好的TPS性能

   #该参数和下面的参数来自facebook对压缩表的改进,当一个非压缩page无法压缩到指定size时,会产生索引分裂,这会大大影响性能,我们可以给非压缩页留一些空白,少存一点数据,这样会降低压缩失败率,但也有可能减小压缩比,该选项表示当压缩失败率高于这个值时,进行apdative padding

   #一个非压缩page上最大允许留白的百分比

 #表示是否统计每个表的每个索引的压缩状态,如果打开,信息会进行收集,并显示在information_schema的INNODB_CMP_PER_INDEX/INNODB_CMP_PER_INDEX_RESET中,这会有一定的性能损耗

Control option

 #保存全部死锁信息

 #表示在使用automic进行进入innodb层并发控制时的自适应sleep时间的最大值

 #purge线程数,可以加快purge速度

 #设置该参数可以在只读媒介上启动Innodb,这也意味着我们可以开启多个实例,对同一份数据集做纯读操作

   #1MB ~ 1/LOG_GROUP*BP, 48G BP& 4 instance的话,12GB为上限过大的值不兼容

   #设置该选项表示操作系统不对merge-sort的临时文件cache,使用O_DIRECT

     #信号量等待队列最大长度

    #更快的checksum算法(crc32)

Online DDL&& index create

    #online ddl时并发DML产生的row log最大size,超过这个限制会导致DDL回滚

    #创建索引做merge-sort时,一个归并block的大小

Innodb API

innodb_api_bk_commit_interval

innodb_api_disable_rowlock

innodb_api_enable_binlog

innodb_api_enable_mdl

innodb_api_trx_level

innodb_autoextend_increment

Memcache plugin

daemon_memcached_enable_binlog

daemon_memcached_engine_lib_name

daemon_memcached_engine_lib_path

daemon_memcached_option

daemon_memcached_r_batch_size

daemon_memcached_w_batch_size

Undo log

   #undo 表空间的个数,将所有的回滚段平分到这么多个ibd表空间文件中,这个值一旦设置,则不可更改。配置这个及下面的选项,是为了将undolog从Ibdata中独立出来,并且由于undo log是随机写,可以放到SSD盘上来提高性能

   #表示undo log表空间文件的路径,启动前设置

   #等同于老版本的innodb_rollback_segments

Read ahead

innodb_random_read_ahead

innodb_read_ahead_threshold  #将其设置为0 ,可以关闭线性预读,对于随机读写,我们推荐关闭

 

 

转载于:https://my.oschina.net/sansom/blog/173867

你可能感兴趣的文章
(转) 多模态机器翻译
查看>>
【官方文档】Nginx负载均衡学习笔记(三) TCP和UDP负载平衡官方参考文档
查看>>
矩阵常用归一化
查看>>
Oracle常用函数总结
查看>>
【聚能聊有奖话题】Boring隧道掘进机完成首段挖掘,离未来交通还有多远?
查看>>
USNews大学排名遭美国计算机研究学会怒怼,指排名荒谬要求撤回
查看>>
struts1——静态ActionForm与动态ActionForm
查看>>
七大关键数据 移动安全迎来历史转折点
查看>>
在AngularJS中学习javascript的new function意义及this作用域的生成过程
查看>>
盘点物联网网关现有联网技术及应用场景
查看>>
1、下载安装scala编译器(可以理解为scala的jdk),地址:http://www.scala
查看>>
mui 总结2--新建第一个app项目
查看>>
nginx的lua api
查看>>
考研太苦逼没坚持下来!看苑老师视频有点上头
查看>>
HCNA——RIP的路由汇总
查看>>
zabbix监控php状态(四)
查看>>
定时任务的创建
查看>>
实战Django:小型CMS Part2
查看>>
原创]windows server 2012 AD架构试验系列 – 16更改DC计算机名
查看>>
统治世界的十大算法
查看>>