Percona XtraDB Cluster Perfomance Schema Instrumentation

为了改进监控,Percona XtraDB集群实施了一个基础架构,将Galera仪器(mutexes, cond-variables, files, threads)作为其一部分添加到了PERFOMANCE_SCHEMA。尽管mutexes和wsrep状态变量已经是PERFORMANCE_SCHEMA线程的一部分,但线程不是。来自Galera库的mutexes,状态变量,线程和文件也不是PERFORMANCE_SCHEMA的一部分。

一、查看可用的仪器

通过运行可以看到可用仪器的完整列表:

mysql> SELECT * FROM performance_schema.setup_instruments WHERE name LIKE '%galera%' OR name LIKE '%wsrep%';
+----------------------------------------------------------+---------+-------+
| NAME                                                    | ENABLED | TIMED |
+----------------------------------------------------------+---------+-------+
| wait/synch/mutex/sql/LOCK_wsrep_ready                    | NO      | NO    |
| wait/synch/mutex/sql/LOCK_wsrep_sst                      | NO      | NO    |
| wait/synch/cond/galera/COND_galera_recvbuf              | NO      | NO    |
| wait/io/file/galera/FILE_galera_recordset                | YES    | YES  |
| wait/io/file/galera/FILE_galera_ringbuffer              | YES    | YES  |
|  .......................................
| stage/wsrep/wsrep: applier idle                          | NO      | NO    |
| stage/wsrep/wsrep: in rollback thread                    | NO      | NO    |
| stage/wsrep/wsrep: aborter idle                          | NO      | NO    |
| stage/wsrep/wsrep: aborter active                        | NO      | NO    |
| memory/sql/wsrep                                        | NO      | NO    |
+----------------------------------------------------------+---------+-------+
81 rows in set (0.07 sec)

下面列车一些最重要的:

  Galera所做的两个主要行为是REPLICATION和ROLLBACK。与此相关的互斥锁,状态变量和线程是PERFORMANCE_SCHEMA其中的一部分。

  Galera内部使用监视机制来强制事件的排序。这些监视控制事件运用并主要负责不同活动之间的等待。所有这些监视器互斥和条件变量都作为此实现的一部分进行了介绍。

  还有很多与接收包和服务信息有关的其他杂项行动。它们所需的互斥锁和状态变量现在也可以看到。管理接收和服务的线程也正在被测试。

此功能已经公开了所有重要的互斥体,即导致锁/线程/文件的状态变量,作为此过程的一部分。

除了公开文件外,它还跟踪写入/读取字节,如文件的状态信息。当Galera使用mmap时,这些数据不会公开给Galera文件。

此外,还有一些线程是短暂的,只有在需要时才会创建,特别是针对SST / IST目的。他们也被追踪,但PERFORMANCE_SCHEMA只有在创建时才会进入表格。

服务器更新到跟踪运行线程状态的Galera特定函数的Stage Info在PerformanceSchema中也是可见的。

二、未披露的

Galera在某些情况下使用客户数据结构(如STL结构)。用于保护这些结构的突变体,不是主线Galera逻辑的一部分,也不是大图中的一部分,也不被跟踪。对于特定于gcomm库的线程也是如此。

Galera在每个监视器内维护一个进程向量,用于其内部图的创建。该处理向量的大小为65K,每个监视器有两个这样的向量。即128 K*3=384 K条件变量。这些信息不会被跟踪以避免占用PerformanceSCHEMA限制和次要的主要关键信息。

三、参考

https://www.percona.com/doc/percona-xtradb-cluster/LATEST/manual/performance_schema_instrumentation.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我的博客

ADODB简介以及简单使用

1、adodb数据库类介绍(http://adodb.sourceforge.net/) 虽然 PHP 是建构 Web 系统强有力的工具,但是 PHP 存取数据...

37670
来自专栏禅林阆苑

Sphinx&coreseek实现中文分词索引

众所周知,mysql等数据库的LIKE模糊搜索不支持索引,因此查询效率极低,需要结合第三方索引引擎程序(索引程序)来提高查询性能。

37530
来自专栏JMCui

SQL优化二(SQL性能调优)

一·、前言:这篇博文内容非原创,是我们公司的架构师给我们做技术培训的时候讲的内容,我稍微整理了下,借花献佛。这篇博文只是做一个大概的科普介绍,毕竟SQL优化的知...

44360
来自专栏性能与架构

跨库的查询策略

对拆分字段的查询 单值查询 select * from table1 where user_id=‘test1234’ user_id 是分库时的拆分字段...

38750
来自专栏Netkiller

数据库恢复方案

数据库恢复方案 摘要 这里所谈的内容是对备份数据的恢复,不是对损坏数据表的恢复,或者说灾难恢复。 目录 1. 背景 2. 备份方式分析 3. 恢复方案 3.1....

31150
来自专栏乐沙弥的世界

Oracle 10.2.0.1 升级到 10.2.0.4

数据库升级并不难,只要遵循其步骤,一般问题不大。但是升级失败的情况也是屡见不鲜,尤其是生产数据库的升级,搞不定的时候甚至要创建SR。

20630
来自专栏GreenLeaves

select for update和select for update wait和select for update nowait的区别

CREATE TABLE "TEST6" ( "ID" VARCHAR2(30), "NAME" VARCHAR2(30), "...

233100
来自专栏架构师之路

数据库中间件cobar调研笔记

13年底负责数据库中间件设计时的调研笔记,拿出来和大家分享,轻拍。文章很长,可提前收藏,转发。 一,cobar是什么 开源的mysql的中间件服务 使用mysq...

46260
来自专栏吴伟祥

为什么子查询比连接查询(LEFT JOIN)效率低

MySQL从4.1版本开始支持子查询,使用子查询进行SELECT语句嵌套查询,可以一次完成很多逻辑上需要多个步骤才能完成的SQL操作。子查询虽然很灵活,但是执行...

22020
来自专栏「3306 Pai」社区

关于MySQL 8.0的几个重点,都在这里

在MySQL8.0中重新设计了redo log,主要改进fsync,使得效率更高,减少锁,优化flush机制,不会频繁flush。同时,支持更高用户并发请求。

15000

扫码关注云+社区

领取腾讯云代金券