位置: 编程技术 - 正文

MySQL优化之缓存优化(mysql缓冲区)

编辑:rootadmin

推荐整理分享MySQL优化之缓存优化(mysql缓冲区),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql8 缓存,mysql的缓存,mysql缓冲区,mysql缓冲区,mysql缓冲和缓存设置详解,mysql 缓存优化,mysql 缓存优化,mysql 缓存优化,内容如对您有帮助,希望把文章链接给更多的朋友!

高兴的是有博友mark了我的文章。我知道mark之后,很少会再来继续关注的。但是从侧面说明了在博友点开博客的同时,他感觉这篇博客是有价值的,是能够弥补他的知识欠缺。一篇博客最重要的是对自己有用,如果再对别人有用,那是最好的结果。我坚持写博客的目的是为了当自己遗忘知识点的时候,能够最快的找到靠谱的解决方案。当自己的归纳的知识,再记起来就会遗忘的慢一点,等时间久了,这部分知识终于化成了自己脱口而出的话,那就再也不怕遗忘了。这篇博客将继续讲MySQL的内容,这篇讲缓存优化,讲的过程也是我学习的过程。

先来看下我们mysql的版本,我的mac 上装的版本是5.7的,很多内容都已经变化掉了。这里讲的主要是5.6的版本。

一、MySQL缓存分类

MySQL的优化指的是一个很大的系统,面试的时候我之前是从sql的语句优化方面去说的,这种优化也有作用,不过是从逻辑方面去优化。但是当所有的逻辑层面已经无可优化,所有的索引都已经加好,表结构也设计的合理,但是遇到高并发的时候,为什么MySQL还是扛不住呢。当然可以通过其他的方面去缓解MySQL的压力,这里我们暂且不谈。对于MySQL而言,我们要尽最大的可能去压榨机器的性能,让所有的计算资源都不浪费,都可以为我们服务。MySQL运行在服务器上,这里特指Linux服务器。那么服务器的硬盘、CPU,内存,网络都有影响到MySQL的性能。MySQl是非常耗费内存的,线上服务器的MySQL内存要吃到%左右,内存过小,其他的优化空间其实很小。

另外连接(connection)也是影响MySQL性能的重要一方面。MySQL客户机与MySQL服务器之间的连接是MySQL客户机与MySQL服务器反复握手的结果。每次'握手'都经历身份验证、权限验证等环节,握手需要占用一定的网络资源和MySQL服务器内存资源。

不得不提的是锁竞争,对于并发性能要求比较高的数据库而言,如果存在激烈的锁竞争,对数据库的性能将是很大的打击。锁竞争会明显的增加线程上下文切换的开销,这些开销都与预期的需求无关。

二、show status 与 show variables

在MySQL系列的前几篇博客,会经常的看到这些命令,那么我们分别看下,这两个命令给MySQL系统管理员展示的是什么信息:

show status

MySQL服务运行的时候,MySQL服务实例的状态信息是动态的。用该命令可以显示当前MySQL服务器连接的会话状态变量信息。默认情况下变量名首字母大写。

show variables

show variables 用来显示MySQL 服务实例的各种系统变量(如:全局系统变量,会话系统变量,静态变量),这些变量包含MySQL编译时参数的默认值,或者是my.cnf中设置的参数值。系统变量或者参数是一个静态的概念,默认情况下系统变量名都是小写字母。

使用MySQL命令show status 或者 show session status ,可以查看当前MySQL 服务器连接的会话变量信息,会话状态的变量值对当前的MySQL客户机有效,例如:Opened_tables、Opened_table_definitions状态变量。

缓存机制

缓存之所以有效,主要是因为程序运行时对内存或者外存的访问呈现局部性特征,局部性特征为空间局部性和时间局部性两方面。时间局部性是指刚刚访问过的数据近期可能再次被访问,空间局部性是指,某个位置被访问后,其相邻的位置的数据很可能被访问到。而MySQL的缓存机制就是把刚刚访问的数据(时间局部性)以及未来即将访问到的数据(空间局部性)保存到缓存中,甚至是高速缓存中。从而提高I/O效率。

按照缓存读写功能的不同,MySQL将缓存分为Buffer缓存和Cache缓存。

MySQL优化之缓存优化(mysql缓冲区)

Buffer缓存。由于硬盘的写入速度过慢,或者频繁的I/O,对于硬盘来说是极大的效率浪费。那么可以等到缓存中储存一定量的数据之后,一次性的写入到硬盘中。Buffer 缓存主要用于写数据,提升I/O性能。

Cache 缓存。 Cache 缓存一般是一些访问频繁但是变更较少的数据,如果Cache缓存已经存储满,则启用LRU算法,进行数据淘汰。淘汰掉最远未使用的数据,从而开辟新的存储空间。不过对于特大型的网站,依靠这种策略很难缓解高频率的读请求,一般会把访问非常频繁的数据静态化,直接由nginx返还给用户。程序和数据库I/O设备交互的越少,则效率越高。

三、MySQL 超时

在使用MySQL的过程中,可能会出现各种超时(timeout)异常,典型的有连接超时、锁等待等。

查看超时时间的类型有哪些:

1、连接超时(connect_timeout)

connect_timeout默认为s,获取MySQL连接是客户机与服务器之间握手的结果,并且是多次握手的结果,每次握手,除了验证账户名和身份信息外,还需要验证主机、域名解析。如果客户机和服务器之间存在网络故障,可以通过connect_timeout参数来设置,防止它们之间重复握手。

interactive_timeout指的是交互式的终端,在命令行中输入的这种。超过了其设置的默认值就会断开。

wait_timeout指的是非交互式的终端,比如PHP实例化的Mysql连接,一直占用着,超过了这个参数设置的值,就会自动断开。

net_write_timeout MySQL服务器产生一个很大的数据集,MySQL客户机在该值设置的时间内不能接受完毕,则会断开连接。

net_read_timeout MySQL客户机读取了一个很大的数据,在设置值内不能读取完毕,则会自动断开连接。

InnoDB锁等待超时

InnoDB 的锁等待时间默认为s,设置行级锁锁等待的值,当出现锁等待的时候,等待时长超过该值会导致锁等待的SQL回滚(不是整个事务回滚)。如果希望整个事务回滚,需要开启innodb_rollback_on_timeout参数。

innodb_rollback_on_timeout设置为true 后,遇到事务超时,会回滚整个事务的操作。

复制连接超时

当主从配置是,从服务器(slave)从主服务器(master)读取二进制日志失败后,从服务器会等待 slave_net_timeout 后,从新从master机拉去二进制日志。可以设置成s.

这部分总结,应该是周日晚上就该整理好的,结果拖到了今天。后面的计划又要后延了,拖延症真严重。

MySQL优化之连接优化 上文MySQL优化之缓存优化这篇文章中提到了一个很重要的概念,就是showvariables是用来表示系统编译或者配置在my.cnf中的变量值。而showstatus则称之为状态

MySQL优化之缓存优化(续) MySQL内部处处皆缓存,等什么时候看了MySQL的源码,再来详细的分析缓存的是如何利用的。这部分主要将各种显式的缓存优化:查询缓存优化结果集缓存

详解Mysql主从同步配置实战 1、Introduction之前写过一篇文章:Mysql主从同步的原理。相信看过这篇文章的童鞋,都摩拳擦掌,跃跃一试了吧?今天我们就来一次mysql主从同步实战!2

标签: mysql缓冲区

本文链接地址:https://www.jiuchutong.com/biancheng/349916.html 转载请保留说明!

上一篇:MySQL优化之InnoDB优化(mysql innode)

下一篇:MySQL优化之连接优化(mysql 连接语句)

  • 印花税征税对象包括哪些
  • 一键报税财务软件破解版
  • 离职员工个税申报时员工状态依然是雇员
  • 住房租金专项附加
  • 航天金税服务费诈骗
  • 0税率开票如何做账
  • 一般纳税人和小规模纳税人的区别
  • 企业工程款发票税率是多少2021
  • T3现金流量表怎么删除
  • 财政拨款收入和财政补助收入的区别
  • 企业现金类资产包括
  • 土地违约金怎么写合同
  • 押金可以抵扣吗
  • 房租发票一下全部开出
  • 企业重组中撤资所得税有哪些处理规则?
  • 普票红冲部分金额的发票怎么开
  • 个体户办营业执照需要什么证件和材料
  • 当前中国有什么企业在国外
  • 建筑包工包料是包哪些
  • 应付账款周转天数上升的原因
  • 会计速动比率计算公式
  • 出口退税附加税计税依据
  • tp link无线路由器设置
  • 事业基金的主要账务处理
  • 收购自然人股东的股权要注意什么
  • 航天税控服务费
  • 退休人员被返聘还能领养老金吗?
  • 年终结算增值税怎么算
  • php 设计模式
  • 支出的科目有哪些
  • 房地产开发企业增值税怎么算
  • 已销售未出库如何结转成本
  • 筹建期间的开办费为什么不属于资产
  • cesium description
  • 计算机视觉的应用
  • 固定资产清理的会计科目处理
  • 机动车价外费用发票如何开具
  • 经营现金支出包含哪些内容
  • 织梦怎么调用当前栏目下的文章
  • 银行承兑汇票是商业汇票吗
  • 小规模纳税人批发零售税率
  • 小规模纳税人的认定标准是什么
  • 不动产租赁开票税率
  • 评估增值净利润调减
  • 典当业销售的死当物品是什么意思
  • 公司收到虚开发票
  • 暂估入账会计科目
  • 水利基金和印花税的计税依据一样吗
  • 如何调整利润分录
  • 罚款是营业外支出还是管理费用
  • 股东在注册资本金范围内承担责任
  • 账务核对包括账表核对吗
  • 主营业务成本账户年终结转后
  • 扣发当月工资是什么意思
  • centosgui
  • win10设置怎么开
  • xp磁盘检测命令
  • windows server 2008 r2最大支持内存
  • fedora系统怎么安装
  • mac系统小技巧
  • lsass.exe
  • SpySub.exe - SpySub是什么进程
  • vmware15.5安装mac
  • centos6设置ip
  • win7在开始菜单右击
  • win10 Mobile 10586.36预览版更新了哪些内容?
  • win8怎么设置
  • oculus dk2
  • android手机传感器应用程序
  • jQ处理xml文件和xml字符串的方法(详解)
  • android xui
  • BaseAdapter数据刷新,自定义BaseAdapter
  • Unity3D实现Billboard效果
  • mac安装nodejs的权限问题
  • numpy入门
  • e87移植
  • Javascript字符串对象函数
  • 对外支付佣金需要代扣代缴印花税吗
  • 回购房 安置房
  • 财政法和经济法的关系
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设