• mysql高性能第三版读书笔记4


    MySQL服务器配置,innodb_buffer_pool_size缓冲池,设置为服务器内存的75%-80%,innodb_log_buffer_size设置日子文件大小,如果太小影响写操作,如果太大影响数据恢复,innodb_log_buffer_size日子缓冲区大小,一般不需要太大,16M以内,除非需要写blob数据,可以设置大点,这样可以减少日志缓冲mutex竞争,innodb_flush_log_at_trx_commit控制日志缓冲刷新的频繁程度,0表示把缓冲日志写到文件,就是写到操作系统的缓存里面或者内存里面,每秒刷新一次,但事务提交不做操作,1表示把缓冲日志写到文件,且每次事务提提交都刷新到持久化存储,就是写到磁盘上或固态硬盘上,默认设置,也是最安全,2表示每次提交事务时把缓冲日志写到日志文件,而且是内存里面,但不刷新,跟0的区别是MySQL进程挂了,数据不丢失,整个服务器挂了,会丢失一些事务,注意把日志缓冲写到日志文件跟把日志刷新到持久化存储不同,0和2会提升性能,key_buffer_size一次性健缓冲区分配空间,table_cache_size表缓存不会立即生效,下次有线程打开表时才生效,thread_cache_size不会立即生效,下次连接关闭时产生效果,query_cache_size如果修改这个值会删除所有缓存,重新分配,重新初始化,会花很长时间,sort_buffer_size只有查询最排序操作时才分配内存,innodb_file_per_table让每一张表使用一个文件,即使打开这个选项依然需要为回滚日志和其他系统数据创建共享表空间,这个选项容易导致更差的drop table性能,导致服务器阻塞,建议是使用它设置共享表空间大小,这样不需要关注表空间回收的事情,innodb_doublewrite设置双写缓冲来避免页没写完整所导致的数据损坏,保证数据完整性,写日志文件更高效。

  • 相关阅读:
    从温设计模式
    php pdf转图片
    PHP 微服务集群搭建
    死磕nginx系列--nginx 限流配置
    分别
    一生悲哀
    三十男人的思考
    test markdown
    linux 系统内核空间与用户空间通信的实现与分析<转>
    ue4 SNew补遗
  • 原文地址:https://www.cnblogs.com/nizuimeiabc1/p/12862764.html
Copyright © 2020-2023  润新知