位置: 编程技术 - 正文

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 连接语句)

  • 律师事务所个人所得税如何计算
  • 小微企业的认定标准2023年
  • 委托加工业务中,委托方是纳税义务人
  • 以前年度所得税退税会计分录
  • 给客户开增值税专用发票
  • 用友无法录入现金流量怎么处理
  • 二手房交易税费最新规定
  • 快递费未支付应该寄走了吗
  • 小规模纳税人支付的增值税
  • 专票当成普票入账怎么调整
  • 一般纳税人建账建几本帐
  • 计提车间折旧费怎么写分录
  • 免征增值税和营业税政策
  • 应税服务计入什么科目
  • 开给学校的发票要税号吗
  • 个人缴纳失业保险的比例
  • 一般纳税人所说的税率是
  • 母公司从子公司借款有何风险
  • 汇算清缴前可以更改去年的账吗
  • linux怎么挂起
  • w11系统有哪些新功能
  • 公司流水账是会计做吗
  • 收到租金税费怎么计算
  • 不发工资先去劳动局投诉还是仲裁
  • 简单介绍下商务洽谈的五个步骤
  • 谷歌第球
  • NDSTray.exe - NDSTray是什么进程 有什么用
  • 研发专利什么意思
  • 特种商品劳务税
  • linux系统设置屏幕常亮
  • win10iis安装配置
  • 土地增值税的计算方法和步骤例题
  • 超经营范围开具发票
  • 女方结婚申请
  • mount.nfs an incorrect mount
  • 帝国cms功能
  • 行政事业单位其他应收款核销分录
  • 日用品属于哪个类型
  • 现金流量风险怎么解决
  • php接口怎么调用
  • mongodb主备配置
  • 要多少费用?
  • 合伙企业要不要每月做账?报税是不是与一般的有限公司一样,每月申报纳税吗?
  • linux大版本升级
  • 融资租赁租金计算工具使用的主要过程
  • 个税系统里的免税收入怎么填
  • 办公装修费用多少
  • 外购材料时所支付的增值税应如何处理
  • 进口货物如何入账
  • 企业为什么要转移用工风险什么意思
  • 资金信息综合服务
  • 房地产预售款预交税金计算
  • 公司支付账户
  • 固定资产需要具备的条件
  • 可抵扣的税票
  • 银行汇票的适用主体
  • MySQL-tpch 测试工具简要手册
  • mysql优化的几种方法
  • 联想笔记本在bios关闭触摸板
  • 什么是微软软件
  • 鲁大师安装失败怎么回事
  • macbookair控制面板
  • win10通讯
  • edge新版浏览器
  • linux的命令行界面
  • win10更新补丁后共享打印机无法使用
  • Win7如何关闭Smartscreen筛选器?Win7关闭Smartscreen筛选器的方法
  • js下拉加载
  • javascript学习指南
  • exit(1)和return的区别
  • qt搭建opencv
  • linux shell获取ip地址
  • shell脚本 -ne 0
  • python convexhull
  • 山东税务社保费用缴纳
  • 江苏专家库申报在哪个网站
  • 北京 国税
  • 南京国税局长是谁
  • 云南医保可以网上买药吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设