MyCat - 高级 - MyCat-Web 性能监控 | 学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 快速学习 MyCat - 高级 - MyCat-Web 性能监控

开发者学堂课程【全面讲解开源数据库中间件MyCat使用及原理(二):MyCat - 高级 - MyCat-Web 性能监控】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/756/detail/13277


MyCat - 高级 - MyCat-Web 性能监控

内容介绍:

一、MyCat 监控

二、MySQL 性能监控

三、SQL 监控

 

一、MyCat 监控

1、MyCat 性能监控

MyCat 监控服务当中到底可以监控哪些信息。已经配置了 MyCat 服务所在的地址以及他的端口号。接下来可以在 MyCat 监控当中查看一些 MyCat 性能数据,比如在下面界面当中,

image.png

配置的 157_9066 这台 MyCat 他的流量分析,以及 MyCat 的连接曲线,MyCat 的内存曲线,以及 MyCat 的活动现场,MyCat 的缓冲队列,以及他的 TPS 的分析。当点击 MyCat 的流量分析,然后选择一个时间段,就能看到 MyCat 在某一个时间段内流量的情况。由于当前客户端操作 MyCat 的次数比较少,所以流量基本上也看不出有变化。还有一个叫 MyCat 的连接分析, MyCat 的连接分析,也可以去选择对应的时间段来查看,当前这个时间段, MyCat 的连接大概是什么样子的。前端的连接和后端的连接都有。还有一个 MyCat 的内存分析, 当前可用的、可分配的多大,最小的多大,最大的是多大。还有活动线程的分析,缓冲队列的分析,以及 MyCatTPS 的分析。通过这些数据,就可以去监控 MyCat 的压力大不大,它的内存够不够,他的活动线程有多少,起到一个很好的监控作用。在 MyCat 当中往下走,还有一些 MyCat JVM的服务监控,再往下还有 MySQL 的性能监控。

2、MyCat 物理节点

还有一个叫做 MyCat 的物理节点,点击 MyCat 的物理节点,就能看到当前这台 MyCat 下面有三台 MySQL 的物理节点,他们的名字分别为 HostM 1、HostM2、HostM3。实际上分别就是这三个名字 HostM 1、HostM2、HostM3,地址分别就是 157、158 和 159。

<writeHost host="howtM1 url="192.168.192.157:3306"user="root"password="itcast"></writeHost>

</dataHost>

<dataHost name="host2"maxCon="1000"minCon=*10"balance="0"

writeType="0"dbType="mysql"dbDriver="native"switch Type="1" slaveThreshold="100">

<heartbeat>select user()</heartbeat>

<writeHost host="hostM2"url="192.160.192.158:3306"user="root"password="itcast"></write

</dataHost>

<dataHost name="host3"maxCon="1000"minCon="10"balance="0"

writerype="0"db Type="mysql"db Driver="native"switch Type="1"slaveThreshol="100">

<heartbeat>select user()</heartbeat>

<writeHost host="hostM3"url="192.168.192.159:3306"user="root"password="itcast"×1witefot

</dataHost>

大家会发现 157:3306、158:3306、159.3306。

image.png

它们各自的状态,他们各自的超时时间。同样还可以点击心跳曲线,可以看到 MyCat 与这台 MySQL 之间,心跳曲线是什么样的。都可以看到这些曲线,

image.png

这些心跳曲线实际上是 heartbeat(〈heartbeat〉Select user()</heartbeat>),每隔一段时间 MyCat 都会去连接这些 MySQL 实例,看这些 MySQL 实例是否还存活。

<dataHost name= "host3"maxCon="1000"minCon="10" balance="0"

writerype="0"dbtype="my sq1"dbōriver="native"switch? ype="1"slaveThreshol="100">

<heartbeat>select user()</heartbeat>

<writeliost hoat="host413"un="192.168.192.159:3306"user="root"password="itoast"></write

</dataHost>

3、这是我们所提到的 MyCat 的监控,通过 MyCat 的监控我们可以查看到 MyCat 的压力,以及内存的分配,以及线程数等等信息。

 

二、MySQL 性能监控

1、当然在这个里面,我们也可以监控 Mysql,如果我们想监控 MySQL,这个里面有一个 MySQL 性能监控,在 MySQL 性能监控当中,我们可以去添加对应的节点。先去配置 MySQL 管理,先去添加节点。

image.png

保存操作成功。同样,还可以新增,

image.png

现在三台 MySQL 实例的地址我们都已经添加了,然后就能监控到 MySQL 的性能,MySQL 比如他的命中缓存书之类的一些性能,这些都是可以去查看的。

 

三、SQL 监控

1、SQL 统计

当然,除了这些,还有一个叫 SQL 监控,SQL 监控监控哪些东西呢?点击 SQL 统计,SQL 监控监控的是我们往 mycat 当中,连接上 MyCat 去执行的 SQL 语句。到底是读为主还是写为主,读入的次数是多少?写入的次数是多少?可以发现,没读过也没写过,怎么还有数据呢?那是因为刚才刻意的在 MyCat 当中做了一些操作,比如,读取的一些操作,还有写入的操作,还有更新的一些操作,还有 SQL 执行时间的分布,在多少点的时候,她的执行的请求数是多少,都可以看到,以及他响应时间的曲线图

image.png

我们可以填写用户名,点击查询,就可以查询到对应的数据。

2、SQL 表分析

SQL 表分析指的是,我们查询 MyCat,到底查询的哪些表。可以选择对应的时间段,然后看到我们查询了 app 这张表,查询了 order,查询了 strhash,查询了 u 以及 stu 这张表。show tables 里面有一个 tb_log,输入 select * from tb_log,查询了这张表,把时间放宽一点,他会存在一定的延迟,就可以看到查询了 tb_log 这张表。

3、SQL 监控

SQL 监控,可以输入一个用户名 root,监控的区域最近七日,就可以看到 root 这个用户在最近七天时间,往这台 MyCat 当中都执行了哪些语句,执行了这么多语句

image.png

每一个语句是什么样的,使用哪个用户名来发送的,他请求的数据源是哪一个,在这一块都有。

4、高频 SQL

同样在用户名在输入 root,点击最近七日查询,执行的次数在这里都可以看到,他还有执行时间的曲线分析,后面还有执行耗时。

image.png

5、慢 SQL 统计

慢 SQL 统计就类似于慢 SQL 当中的慢查询日志。在慢查询日志当中它记录的是查询速度比较慢的一些语句。慢 SQL 统计指的就是执行效率比较低的 SQL,输入一个阀值 10,它代表的是 10 毫秒,也就是说,执行时间超过 10 毫秒就会查询出来。

image.png

6、SQL 解析

(1)SQL 解析主要是用于测试,在这里面配置了逻辑库,在逻辑库里面也配置了逻辑表。当我们查询某一张表中的数据时,他到底会到哪些节点中查询呢?对于我们当前来说,是会到三个节点中全部查询吗?并不是,他会根据自己的路由规则,来解析当前请求会到哪个节点中来查询。这有一张表叫 tb_user 这张表,他的分片规则是根据 status 进行每区分片,status 可取值应该是1,2,3。

再来执行一下select* from tb_uesr,一走第一个节点,二走第二个节点,三走第三个节点,接下来执行一条语句叫做,select *from tb_ user where status=`1`。如果执行这条语句,

image.png

如上图:走 dn1,指的是走第一个节点,接下来把 1 改成 2,走第二个节点,再把2 改成 3,走第三个节点。

MyCat 在执行某一条 SQL 语句的时候,它会根据这条 sql 语句进行一个分析,然后进行路由规则的一些分析,来决定这条 SQL 语句到底要到哪个节点当中进行执行。

假如 status 没有使用等于,使用的是 select *from tb_ user where statusin(in'1','2'),那么到底到第一个还是第二个呢?他既会到第一个也会到第二个

image.png

然后把这两个节点查询的数据进行合并,这就是 sql 监控当中可以去监控我们当前查询了哪些表,当前的 SQL 统计是什么样的,当前都查询了哪些表,涉及到哪些表,以及 SQL 的监控,以及高频 SQL、慢 SQL 以及 SQL 的解析都可以看到。

(2)所以 MyCat 的监控平台,MyCat-Web 实际上可以监控 MyCat,也可以监控底层 MySQL 的一些状态。通过 MyCat-Web 可以知道 MyCat 的运行情况,MyCat的请求压力,MyCat 活动线程的情况,以及发送到当前 MyCat 的 SQL 语句执行情况。

MyCat 高级当中的第一部分 MyCat 性能监控,主要是工具 MyCat-Web。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
20天前
|
JavaScript
web学习笔记(二十)
web学习笔记(二十)
16 0
|
20天前
|
JavaScript 前端开发 API
web学习笔记(二十九)jQuery
web学习笔记(二十九)jQuery
19 0
|
20天前
|
存储 JSON JavaScript
web学习笔记(二十八)
web学习笔记(二十八)
16 0
|
20天前
web学习笔记(二十七)PC端网页特效
web学习笔记(二十七)PC端网页特效
14 0
|
20天前
|
JavaScript 前端开发 Go
web学习笔记(二十六)
web学习笔记(二十六)
17 0
|
20天前
|
JavaScript 前端开发 内存技术
web学习笔记(二十五)BOM开始
web学习笔记(二十五)BOM开始
17 0
|
20天前
|
JavaScript
web学习笔记(二十四)
web学习笔记(二十四)
16 0
|
20天前
|
JavaScript 前端开发
web学习笔记(二十三)
web学习笔记(二十三)
45 0
|
20天前
|
XML JavaScript 前端开发
web学习笔记(二十二)DOM开始
web学习笔记(二十二)DOM开始
12 0
|
20天前
|
JavaScript 前端开发
web学习笔记(二十一)
web学习笔记(二十一)
15 0