mysql 缓解竞争热点_MySQL优化之缓存优化

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

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

[root@roverliang ~]# mysql --version

mysql Ver 14.14 Distrib 5.6.24, for Linux (x86_64) using EditLine wrapper

一、MySQL缓存分类

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

另外连接(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中设置的参数值。系统变量或者参数是一个静态的概念,默认情况下系统变量名都是小写字母。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/502550.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python for循环1 到10_python for循环(1)

对于一个初学者来说for循环可能会击溃很多人,因为网上找的python的for循环没有详细的介绍for循环的条件以及for循环后面定义的东西是什么意思。首先我先举一个常用的例子。for i in range(1,10) :print i上面这两条代码是用来在屏幕上打印1到9的。这里就不对range这…

java maven junit_【JUnit】JUnit 与 maven 集成

环境JDK 11JUnit 4.13Spring Tool Suite 4.6.2Maven 3.6.3与 maven 集成因为已经是 maven 项目了,所以不再需要任何东西,默认就与 maven 集成了。不过由于 maven-surefire-plugin 自身的缺陷,导致测试时,如果有中文,则…

最长不重复子串python_python经典算法题:无重复字符的最长子串

题目:无重复字符的最长子串。给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字…

python构造referer_Python爬虫小偏方:修改referer绕开登录和访问频率限制

看官们在写爬虫程序时应该都会遇到如下问题:你的爬虫程序开发时能正常抓取网页,但是正式大量抓取时,抓取的网站总是返回403或者500等;你抓取的网站需要登录,要花大量时间去研究网站登录流程。遇到问题1,我们…

微信流媒体直播java_微信小程序直播带货教程

微信小程序直播带货教程微信小程序正式推出直播带货组件,很多正在使用 “api工厂” 的用户,这几天一直在问,现有小程序如何使用直播带货的功能,需要不需要做很复杂的改动?是否需要重新开发小程序?使用门槛高…

铺砖问题JAVA_java彩色瓷砖编程题分析

牛牛喜欢彩色的东西,尤其是彩色的瓷砖。牛牛的房间内铺有L块正方形瓷砖。每块砖的颜色有四种可能:红、绿、蓝、黄。给定一个字符串S, 如果S的第i个字符是R, ‘G, ‘B或Y,那么第i块瓷砖的颜色就分别是红、绿、蓝或者黄。牛牛决定换掉一些瓷砖的颜色,使得相邻两块瓷砖的颜色均不相…

python灰度图像为什么显示成彩色的_python opencv image 怎么变成伪彩色

匿名用户1级2017-05-16 回答OpenCV 生成 伪彩色图像opencv中没有易用的伪彩色图像生成函数,这里提供一个改造过的函数,利用自定义colorbar 将灰度图像转换成为伪彩色图像,优点在于提供了对于颜色的直观可操控性,转换方便。函数代码…

vue和java实现页面增删改_SpringBoot-Vue实现增删改查及分页小DEMO

前言主要通过后端 Spring Boot 技术和前端 Vue 技术来简单开发一个demo,实现增删改查、分页功能以及了解Springboot搭配vue完成前后端分离项目的开发流程。开发栈前端开发工具:WebStorm开发框架:vue axios包管理工具: npm打包工具&#xff1…

读取24位ad的值_实践案例丨利用小熊派开发板获取土壤湿度传感器的ADC值

摘要:一文带你用小熊派开发板动手做土壤湿度传感器。一、实验准备1.实验环境一块stm32开发板(推荐使用小熊派),以及数据线已经安装STM32CubeMX已经安装KeilMDK,并导入stm32开发板对应的芯片包(小熊派使用的是STM32L431…

java 计算两个时间戳_Java时间戳计算重叠持续时间与间隔

我相信下面的方法给出了你的Joda时间解的等价物。private static final LocalTime START LocalTime.of(18, 0);private static final LocalTime END LocalTime.of(8, 0);public static Duration overlap(ZonedDateTime currentStart, ZonedDateTime currentEnd) {ZonedDateTi…

python ini文件删除修改_如何在INI文件中编写时删除空格 - Python

这是RawConfigParser.write的定义:def write(self, fp):"""Write an .ini-format representation of the configuration state."""if self._defaults:fp.write("[%s]\n" % DEFAULTSECT)for (key, value) in self._defaults…

php 如何守护进程_PHP 如何实现守护进程

PHP 如何实现守护进程发布时间:2020-07-11 15:29:31来源:亿速云阅读:58作者:LeahPHP 如何实现守护进程?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小…

python requests session刷新_Python Requests Session set-cookie不生效的坑

我们知道 Python Requests库 中的 Session 模块有连接池和会话管理的功能,比如请求一个登录接口后,会自动处理 response 中的 set-cookie,下次再请求时会自动把 cookie 带上。但最近出现了一个诡异的事情,cookie 没有自动带上&…

php redis与me m,Redis(十) —— 为php增加redis扩展

chenchen-ubuntu:~/download$ ls | grep phpredisphpredis-master.zip# 解压缩chenchen-ubuntu:~/download$ unzip phpredis-master.zip# 进入安装目录chenchen-ubuntu:~/download$ cd phpredis-master/chenchen-ubuntu:~/download/phpredis-master$ lsarrays.markdown debian …

php查询变量类型,php判断变量类型常用方法

php 判断变量类型常用的函数主要有下列几个:gettype()、is_array()、is_bool()、is_float()、is_double()、is_integer()、is_null()、is_numeric()、is_object()、is_resource()、is_scalar() 和 is_string()现在让我们了解下他们的具体的使用方法gettype() 返回 P…

mac 爱普生打印机驱动_高效打印企业首选 爱普生M2178黑白多功能一体机评测

提到打印机相信每一个公司都配备了一台,因为它是日常办公中不可缺少。尽管现在很多的工作流程都已经可以在线上执行,且提倡无纸化办公,但很多重要的材料还是需要打印出来存档、签字。因此打印机还是一个非常必要的配置。对于一个企业来讲&…

python线程池操作_Python mutiprocessing多线程池pool操作示例

本文实例讲述了Python mutiprocessing多线程池pool操作。分享给大家供大家参考,具体如下:python — mutiprocessing 多线程 pool脚本代码:root72132server:~/python/multiprocess# lsmultiprocess_pool.py multprocess.pyroot72132server:~/p…

php ajax 加载列表,Ajax点击不断加载数据列表(图文教程)

这篇文章主要介绍了Ajax点击不断加载数据列表的相关资料,需要的朋友可以参考下Ajax简介AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。AJAX 异步 JavaScript和XML(标准通用标记语言的子集)。AJAX 是…

python指定进程断网_python通过scapy模块进行arp断网攻击

前言:想实现像arpsoof一样的工具arp断网攻击原理:通过伪造IP地址与MAC地址实现ARP欺骗,在网络发送大量ARP通信量。攻击者只要持续不断发送arp包就能造成中间人攻击或者断网攻击。0x01:准备工作Linux环境下:(windows环境下各种错误&#xff0c…

linux版_微软爱 Linux:安全杀毒软件 Defender ATP 要出 Linux 版了! | Linux 中国

微软宣布将于 2020 年将其企业安全产品 Defender 高级威胁防护(ATP)引入 Linux。-- Abhishek Prakash微软的年度开发者大会 Microsoft Ignite 刚刚结束,会上发布了一些与 Linux 有关的重要公告。你可能已经知道微软将 Edge Web 浏览器引入 Linux,而下一个…