mysql配置优化「建议收藏」

mysql配置优化「建议收藏」将这个参数设为0或大于1以上的数值会提高数据库的性能,但同时会伴随数据丢失的风险。二进制日志文件涉及到数据的恢复,以及想在主从之间获得最大的一致性,那么应该将该参数设置为1,但同时也会造成一定的性能损

mysql配置优化

1、innodb_flush_log_at_trx_commit :事务日志提交策略即提交事务的时候将 redo 日志写入磁盘中的时机。

  • 等于0:等于0表示每次提交事务时将数据提交到mysql redo log buffer 中即表示操作成功,数据的落盘依靠 InnoDB 的主线程每秒执行一次刷新到磁盘。显然该模式在mysql宕机后,会丢失缓存中的数据。
  • 默认值1:等于1表示每一次事务提交或事务外的指令都需要把日志写入(flush)硬盘,这是很费时的。特别是使用电池供电缓存(Battery backed up cache)时。显然该模式最为安全,但是效率较低。
  • 等于2:等于2表示先写入系统缓存(OS_cache)。日志仍然会每秒flush到硬盘,所以你一般不会丢失超过1-2秒的更新。该模式只有在操作系统宕机后才会都是数据。

2、sync_binlog:该参数控制着二进制日志写入磁盘的过程。

  • 0:默认值。事务提交后,将二进制日志从缓冲写入系统缓存(OS_cache),但是不进行刷新操作(fsync()),显然该模式若操作系统宕机则会丢失部分二进制日志。

  • 1:事务提交后,将二进制文件写入磁盘并立即执行刷新操作,相当于是同步写入磁盘。显然该模式对于数据的安全性更有保障,但是效率最低。
  • N:每写N次操作系统缓冲就执行一次刷新操作。

将这个参数设为0或大于1以上的数值会提高数据库的性能,但同时会伴随数据丢失的风险。二进制日志文件涉及到数据的恢复,以及想在主从之间获得最大的一致性,那么应该将该参数设置为1,但同时也会造成一定的性能损耗。

3、max_connections:是指MySql的最大连接数,如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,介于MySql会为每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。可以过”conn%”通配符查看当前状态的连接数量,以定夺该值的大小。MySQL服务器允许的最大连接数16384;查看mysql当前最大连接数:show variables like “max_connections”;

4、innodb_buffer_pool_size:这个参数主要缓存innodb表的索引,数据,插入数据时的缓冲。为Innodb加速优化首要参数。默认128M,建议设为内存的70%-80%。

innodb_buffer_pool_size中存储的内容:

  • 数据缓存:InnoDB数据页面
  • 索引缓存:索引数据
  • 缓冲数据:脏页(在内存中修改尚未刷新(写入)到磁盘的数据)
  • 内部结构:如自适应哈希索引,行锁等。

其他参数:

  • Innodb_buffer_pool_pages_data:InnoDB缓冲池中包含数据的页数。 该数字包括脏页面和干净页面。
  • Innodb_buffer_pool_pages_total:InnoDB缓冲池的总大小,以page为单位,即共多少页
  • Innodb_buffer_pool_pages_dirty:显示在内存中修改但尚未写入数据文件的InnoDB缓冲池数据页的数量(脏页刷新)。
  • Innodb_buffer_pool_pages_flushed:表示从InnoDB缓冲池中刷新脏页的请求数。
  • Innodb_buffer_pool_pages_free:显示InnoDB缓冲池中的空闲页面
  • innodb_buffer_pool_reads:表示InnoDB缓冲池无法满足的请求数。需要从磁盘中读取。
  • innodb_buffer_pool_read_requests:它表示从内存中逻辑读取的请求数。
  • innodb_buffer_pool_write_request:表示对缓冲池执行的写入次数。

InnoDB buffer pool 命中率 = innodb_buffer_pool_read_requests / (innodb_buffer_pool_read_requests + innodb_buffer_pool_reads ) * 100

innodb_buffer_pool_size建议设置大小为: Innodb_buffer_pool_pages_data* Innodb_buffer_pool_pages_total* 1.05 / (1024*1024*1024)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6179.html

(0)
上一篇 2023-04-15
下一篇 2023-04-15

相关推荐

  • Python实现温度转换

    Python实现温度转换温度转换是常见的工程计算之一,因为世界上各个国家和地区,对温度的表示方法不尽相同。其中最常用的两种是摄氏度和华氏度。本文将通过Python实现温度转换过程,以加深读者对温度转换的理解和应用。

    2024-09-16
    23
  • SpringDataRedis序列化的一些问题[通俗易懂]

    SpringDataRedis序列化的一些问题[通俗易懂]SpringDataRedis的序列化的一些问题 RedisTemplate可以接收任意Object作为值写入Redis,但是如果不实现设置序列化器的化默认是采用JDK序列化,序列化后的结果可读性差并

    2023-05-17
    161
  • Linux下操作MySQL[亲测有效]

    Linux下操作MySQL[亲测有效]登录MySQL mysql -uroot -p 进入MySQL后,使用 create user '用户名'@‘%’ identified by '密码' %:…

    2023-02-12
    155
  • Python内置函数大全表

    Python内置函数大全表Python是一种高级编程语言,提供了强大的内置函数,使开发人员能够轻松地执行各种任务,包括处理常见数据类型、执行字符串操作、处理时间和日期、计算数学运算等等。

    2024-08-27
    27
  • 只有双向关注_反复关注取关

    只有双向关注_反复关注取关开心一刻 有个问题一直困扰着我:许仙选择了救蛇,为什么杨过却选择救雕(而不救蛇) 后面想想,其实杨过救神雕是有原因的,当年神雕和巨蛇打架的时候 雕对杨过说:杀蛇,杀蛇,杀蛇! 蛇对杨过说:杀雕,杀雕,

    2023-05-20
    144
  • 使用正则表达式优化文本内容处理

    使用正则表达式优化文本内容处理正则表达式是一种文本处理工具,它用于匹配、搜索及替换字符串中的特定的字符序列。正则表达式在多种编程语言中均有支持,在很多场景中都可以使用,例如文本编辑器、命令行工具等。

    2024-01-21
    104
  • 电脑远程连接 服务器群控

    电脑远程连接 服务器群控电脑远程连接 服务器群控远程桌面是微软公司为了便于网络管理员管理维护服务器推出的一项服务。从windows 2000 server版本开始引入,网络管理员时候远程桌面连接器连接到网络任意一台开启了远…

    2023-02-24
    141
  • 用Python TKinter构建强大的图形用户界面

    用Python TKinter构建强大的图形用户界面TKinter是Python的标准GUI库之一,它提供了创建GUI程序所需的所有基本控件,例如按钮、标签、文本框、下拉列表、滚动条等等。同时,TKinter还集成了几个流行的GUI样式,例如Windows、MacOS、Linux等。因此,使用Python和TKinter,我们可以轻松地构建功能强大的GUI应用程序。

    2024-02-28
    87

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注