MYSQL 从PS说起,但不止于PS , IS 中innodb buffer 分析(5) -- 附加招聘DEVOPS DBA
招聘信息在文字最末尾。
这已经是这个系列的第五期了,从PS到SYS,基本上这两个可以获取整体的MYSQL8的性能信息(目前学到的需要整体在8.022版本才有之前介绍的所有的功能,8.018可以有90%的功能)。所以选择MYSQL 从高可用的角度以及监控的角度来看,版本至少应该在8.022以上。
言归正在,MYSQL Information schema 本身是从MYSQL 5.0开始有的,记得当时在使用的时候尤其5.5, 对于IS 的感觉和现在对于SYS 的感觉是一样的,也是插件,也不敢开,开了就对系统的性能有影响,那也是差不多有10年前的事情了。当时IS 推出是对于MYSQL是十分重要的,获得MYSQL的信息在没有IS 大多是通过show engine innodb status; 获得。
转换到MYSQL8 整体的IS 对比之前的 MYSQL 5.X 更规整和调理了,IS 本身是一个虚拟的结构,通过具有全局权限的USAGE,process 等的账号来查看其中的信息。
上面的information_schema中的innodb_metrics 可以理解为对于MYSQL 数据库中的所有的信息的记录,举例我们对于dml 操作中的update
下面我们举一个例子
我们针对此时此刻的MYSQL 的UPDATE 操作的个数进行记录,看看一分钟到底进行了多少UPDATE 操作。上图中针对information_schema 中的innodb_metrics 中的update 的数据进行初始化,其中只对count_reset 进行更新,此后的UPDATE 操作就直接在这个 column累加,另外update操作中的重复update是不记录在这里,有效的对产生实际写入磁盘的UPDATE起作用。所以针对某一个时间段统计INSERT ,DELETE ,UPDATE 有了更方便的手段,这里统计的参数 314个,完全覆盖了,如下的方面,包含的数据库操作,数据库底层操作信息,I/O, 数据库操作的性能等等,有点类似SQLserver 中的性能计数器。
| metadata
| lock
| server
| buffer
| buffer_page_io
| os
| transaction
| purge
| undo
| log
| compression
| index
| adaptive_hash_index
| file_system
| change_buffer
| dml
| sampling
| ddl
| icp
| cpu
| page_track
| dblwr
具体每个详细的功能可以打开表后,针对相关的监控项目与系统的帮助文件进行查询。
2 在MYSQL的表设计中,有些表可能会误使用系统关键字,
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, RESERVED FROM information_schema.COLUMNS INNER JOIN information_schema.KEYWORDS ON KEYWORDS.WORD = COLUMNS.COLUMN_NAME WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema', 'sys' ) ORDER BY TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME;
上面的语句可以通过查询,搜寻到在用户表中,使用了KEY WORD的表
针对上面的情况可以开发出很多短时的监控方案,来针对一些突发的事情,
MYSQL 基于对于系统性能的考虑,添加了 information_schema_stats_expirty 变量,通过变量可以控制在MYSQL CACHE 中的数据驻留的刷新的时间。默认这个时间是 1天 86400秒。而MYSQL 5.X 中这个刷新的频率相当于0 无时不刻的在刷新中。
在information 中的一些功能有利于我们对MYSQL 整体数据库的使用情况有一些了解例如,一个MYSQL intance中到底有多少表在我们的innodb buffer pool中,我们是可以通过innodb_buffer_page来进行查询的。
举例我们还可以通过information中的表来查看到底有多少行数据多少索引,已经加载在我们的innodb buffer 中,来分析那些索引是HOT 的索引,以及多少行数据已经加载到我们的innodb buffer中。
SELECT table_name,index_name,count(*) as 'index_number',sum(number_records) as 'rows_index'
FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE
WHERE page_type = 'index'
group by table_name,index_name;
查找用户表中的复合索引以及索引名字
select table_name,index_name from STATISTICS
WHERE TABLE_SCHEMA NOT IN ('mysql','sys','performance_schema')
group by index_name,seq_in_index,table_name
having seq_in_index >=2;
招聘信息:
DEVOPS DBA
岗位职责:
1 负责公司数据库运维平台开发,与维护。
2 熟悉主流数据库的简单操作,如MYSQL 或 POSTGRESQL 等
3 参与设计公司级数据库运维平台模块设计和规划
4 协助DBA TEAM 完成自动化工具的编制的部署
职位要求:
1 掌握Python 语言,对于python 有一定的研究 或参与Python 类的devops 工作
2 熟悉LINUX 常用的命令以及python 与数据库之间API 的操作
3 逻辑思维清晰,有责任心,有团队精神,喜欢尝试新技术,热爱学习
4 对于python 的web 框架有相关经验
——————————————————————————————
工作地点:天津(市区)
优势 1 已经有北京DEVOPS 专家,可协同工作,快速成长
2 数据库方面,只要你敢来 ,就敢让你成为 某一种数据库的专家 MYSQL PG MONGODB 随意
3 平台开放性高,没有限制,和你一同设计规划,提供 MYSQL PG MONGODB 的经验,以及部分代码
简历: 邮件地址 liuhuayang@tcsl.com.cn 微信私聊也可 liuaustin3 微信号
MYSQL 从PS说起,但不止于PS , IS 中innodb buffer 分析(5) -- 附加招聘DEVOPS DBA相关推荐
- linux下查看mysql线程_linux-如何查看线程在哪个CPU内核中运行?
linux-如何查看线程在哪个CPU内核中运行? 在Linux中,假设线程的pid是[pid],则从目录/ proc / [pid]中我们可以获得许多有用的信息. 例如,这些proc文件/ proc ...
- [转]MySQL innodb buffer pool
最近在对公司的 MySQL 服务器做性能优化, 一直对 innodb 的内存使用方式不是很清楚, 乘这机会做点总结. 在配置 MySQL 的时候, 一般都会需要设置 innodb_buffer_poo ...
- MySQL · 性能优化· InnoDB buffer pool flush策略漫谈
MySQL · 性能优化· InnoDB buffer pool flush策略漫谈 背景 我们知道InnoDB使用buffer pool来缓存从磁盘读取到内存的数据页.buffer pool通常由数 ...
- mysql 5.5 替换字符_Mysql 5.7替换表中某些字段的字符串
很多时候在做资源迁移的时候,路径改变,存在数据库的资源文件的路径也会跟着改变,所以需要替换存放路径的字符串,如何快速的替换表中的字段的这些字符串呢? 1. 可以通过MySQL的replace函数 re ...
- hive能加快MySQL查询速度吗_建立索引可以加快表中数据查询的速度吗
首先明白为什么索引会增加速度,DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合. 如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特 ...
- php 类中调用另类,PHP return语句另类用法不止是在函数中,return语句_PHP教程
PHP return语句另类用法不止是在函数中,return语句 分享下PHP return语句的另一个作用,在bbPress的代码中看到的一个奇葩使用方法. 一直以为,return只能出现在函数中, ...
- ps -ef |grep -v 在shell sh 脚本中貌似无效?
ps -ef |grep -v 在shell sh 脚本中貌似无效? 想通过ps -ef |grep erdp_ |awk '{print $2}' 获取 erdp_ 开头的进程id, 执行在终端环境 ...
- MySQL 引擎特性 · InnoDB Buffer Pool
前言 用户对数据库的最基本要求就是能高效的读取和存储数据,但是读写数据都涉及到与低速的设备交互,为了弥补两者之间的速度差异,所有数据库都有缓存池,用来管理相应的数据页,提高数据库的效率,当然也因为引入 ...
- linux ps 详解 博客,Linux PS 命令 详解(转)
Linux操作系统PS命令详细解析(转) 要对系统中进程进行监测控制,用 ps 命令满足你. /bin/ps ps 是显示瞬间行程的状态,并不动态连续:如果想对进程运行时间监控,应该用 top 工具. ...
最新文章
- docker4dotnet #4 使用Azure云存储构建高速 Docker registry
- 再见,996!传腾讯光子调整加班机制,21 点前必须离开工位
- Nginx 的启动、停止、平滑重启、信号控制和平滑升级
- 8个问题全面了解5G关键技术Massive MIMO
- mysql 横向扩展 中间件_mysql-proxy数据库中间件架构 | 架构师之路
- UIWindowLevel详解
- mysql 修改密码
- 《计算机网络 自顶向下方法》(第7版)答案(第一章)(一)
- Android studio 菜单栏搞不见了
- 自然语言处理发展的四大阶段
- spark处理大数据实例
- 【参考文献】软骨细胞生长培养方法
- python 1加到100的三种方法
- HTML5酷站欣赏及学习网站收集
- metasploit framework的一些使用姿势(持续更新)
- 8255控制交通灯实验 c语言 main,交通灯控制实验
- 智能电子眼镜可监控健康,可进行脑机接口视觉刺激,控制视频游戏
- 屏幕截图工具 php调用,PicPick 全屏幕截图工具
- 百万人同时在线直播的服务器,QQ游戏百万人同时在线的服务器架构实现
- 《论语》原文及其全文翻译 学而篇12
热门文章
- 曾经社交王者人人为何如今失魂落魄
- SQL Server数据并发处理
- 超宽屏幕比例_选择合适的21:9超宽带鱼屏屏幕(普通屏幕也可)
- 2022.10.30 英语背诵
- 【​观察】从移动计算当道 看高通“高举高打”背后的势能
- java设置pdf不可编辑_Java动态生成pdf文件(使用itext编辑pdf)
- 【全局路径规划】A*算法 A* Search Algorithm
- 问题解决:shared_ptr Assertion px != 0 failed 及debug经验分享
- 销量惨淡,广告费ACOS飙升
- 详解Unity中的粒子系统Particle System (二)