PERFORMANCE_SCHEMA数据库

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: --MySQL 5.5新增一个存储引擎:命名PERFORMANCE_SCHEMA ,主要用于收集数据库服务器性能参数performance_schema提供以下功能:提供进程等待的详...
--MySQL 5.5新增一个存储引擎:命名PERFORMANCE_SCHEMA  ,主要用于收集数据库服务器性能参数

performance_schema提供以下功能:
提供进程等待的详细信息,包括锁、互斥变量、文件信息;
保存历史的事件汇总信息,为提供MySQL服务器性能做出详细的判断;
对于新增和删除监控事件点都非常容易,并可以随意改变mysql服务器的监控周期,例如(CYCLE、MICROSECOND)


Performance的开启很简单,在my.cnf中[mysqld]加入performanc_schema,检查性能数据库是否启动的命令:
SHOW VARIABLES LIKE 'performance_schema';
若是返回的 值为ON,则说明性能数据库正常开启状态。


--Performance_timers指定mysql服务可用的监控周期,CYCLE表示按每秒检测2603393034次
mysql> SELECT * FROM performance_timers;
+-------------+-----------------+------------------+----------------+
| TIMER_NAME  | TIMER_FREQUENCY | TIMER_RESOLUTION | TIMER_OVERHEAD |
+-------------+-----------------+------------------+----------------+
| CYCLE       |      3389398009 |                1 |             38 |
| NANOSECOND  |      1000000000 |                1 |             98 |
| MICROSECOND |         1000000 |                1 |            106 |
| MILLISECOND |            1000 |             1000 |             96 |
| TICK        |             105 |                1 |            491 |
+-------------+-----------------+------------------+----------------+



--设置哪些事件能够被收集
mysql> SELECT * FROM setup_consumers;
+--------------------------------+---------+
| NAME                           | ENABLED |
+--------------------------------+---------+
| events_stages_current          | NO      |
| events_stages_history          | NO      |
| events_stages_history_long     | NO      |
| events_statements_current      | YES     |
| events_statements_history      | NO      |
| events_statements_history_long | NO      |
| events_waits_current           | YES     |
| events_waits_history           | NO      |
| events_waits_history_long      | NO      |
| global_instrumentation         | YES     |
| thread_instrumentation         | YES     |
| statements_digest              | YES     |
+--------------------------------+---------+



--查看系统正在等待的资源,如下OBJECT_NAME: /var/lib/mysql/test/t.ibd说明其在等待一个数据文件
mysql> select * from events_waits_current\G;
*************************** 2. row ***************************
            THREAD_ID: 25
             EVENT_ID: 48565172
         END_EVENT_ID: NULL
           EVENT_NAME: wait/io/table/sql/handler
               SOURCE: handler.cc:2666
          TIMER_START: 1331820782467260
            TIMER_END: NULL
           TIMER_WAIT: NULL
                SPINS: NULL
        OBJECT_SCHEMA: test
          OBJECT_NAME: t
           INDEX_NAME: idx_t
          OBJECT_TYPE: TABLE
OBJECT_INSTANCE_BEGIN: 139955292366880
     NESTING_EVENT_ID: NULL
   NESTING_EVENT_TYPE: NULL
            OPERATION: fetch
      NUMBER_OF_BYTES: NULL
                FLAGS: NULL
*************************** 3. row ***************************
            THREAD_ID: 25
             EVENT_ID: 48565173
         END_EVENT_ID: NULL
           EVENT_NAME: wait/io/file/innodb/innodb_data_file
               SOURCE: fil0fil.cc:5625
          TIMER_START: 1331820783520410
            TIMER_END: NULL
           TIMER_WAIT: NULL
                SPINS: NULL
        OBJECT_SCHEMA: NULL
          OBJECT_NAME: /var/lib/mysql/test/t.ibd
           INDEX_NAME: NULL
          OBJECT_TYPE: FILE
OBJECT_INSTANCE_BEGIN: 139955747255232
     NESTING_EVENT_ID: 48565172
   NESTING_EVENT_TYPE: WAIT
            OPERATION: read
      NUMBER_OF_BYTES: 16384
                FLAGS: NULL
				

--查看系统中正在运行的sql,可发现其在做一个统计				
mysql> select * from events_statements_current\G;
*************************** 2. row ***************************
              THREAD_ID: 25
               EVENT_ID: 40293117
           END_EVENT_ID: 60439383
             EVENT_NAME: statement/sql/select
                 SOURCE: mysqld.cc:1157
            TIMER_START: 1315332597974000
              TIMER_END: 1352782771644000
             TIMER_WAIT: 37450173670000
              LOCK_TIME: 142000000
               SQL_TEXT: select count(*) from t
                 DIGEST: 2f0c57df096166b233e0fc64d317cc68
            DIGEST_TEXT: SELECT COUNT ( * ) FROM `t` 
         CURRENT_SCHEMA: test
            OBJECT_TYPE: NULL
          OBJECT_SCHEMA: NULL
            OBJECT_NAME: NULL
  OBJECT_INSTANCE_BEGIN: NULL
            MYSQL_ERRNO: 0
      RETURNED_SQLSTATE: NULL
           MESSAGE_TEXT: NULL
                 ERRORS: 0
               WARNINGS: 0
          ROWS_AFFECTED: 0
              ROWS_SENT: 1
          ROWS_EXAMINED: 0
CREATED_TMP_DISK_TABLES: 0
     CREATED_TMP_TABLES: 0
       SELECT_FULL_JOIN: 0
 SELECT_FULL_RANGE_JOIN: 0
           SELECT_RANGE: 0
     SELECT_RANGE_CHECK: 0
            SELECT_SCAN: 1
      SORT_MERGE_PASSES: 0
             SORT_RANGE: 0
              SORT_ROWS: 0
              SORT_SCAN: 0
          NO_INDEX_USED: 1
     NO_GOOD_INDEX_USED: 0
       NESTING_EVENT_ID: NULL
     NESTING_EVENT_TYPE: NULL				

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
SQL NoSQL 关系型数据库
二、什么是数据库(DataBase)
二、什么是数据库(DataBase)
70 0
|
SQL Oracle 关系型数据库
数据库中的Schema是什么?
翻译自:http://database.guide/what-is-a-database-schema/   在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文模式)是数据库的组织和结构,schemas andschemata都可以作为复数形式。
10569 0
|
存储 关系型数据库 MySQL
MySQL information_schema 系统库介绍
当我们安装好 MySQL 数据库后,会发现数据库实例自带有 information_schema 系统库,你是否有去关注过这个系统库呢?是否有查询过此库中的表数据呢?又是否清楚此库存在的具体作用呢?带着这些疑问,我们一起来看本篇文章。
279 0
MySQL information_schema 系统库介绍
|
存储 关系型数据库 API
数据库(Database
数据库(Database
62 0
|
Oracle Java 关系型数据库
GreenPlum - Schema 如何连接?
GreenPlum - Schema 如何连接?
340 0
|
存储 Oracle 关系型数据库
数据库对象设计-Database和Schema设计
GaussDB 200中可以使用Database和Schema实现业务的隔离,区别在于Database的隔离更加彻底,各个Database之间共享资源极少,可实现连接隔离、权限隔离等,Database之间无法直接互访。Schema隔离的方式共用资源较多,可以通过grant与revoke语法便捷地控制不同用户对各Schema及其下属对象的权限。 从便捷性和资源共享效率上考虑,推荐使用Schema进行业务隔离。 建议系统管理员创建Schema和Database,再赋予相关用户对应的权限。 Database设计建议 【建议】在实际业务中,根据需要创建新的Database,不建议直接使用集群默认的p
222 0
|
存储 监控 关系型数据库
使用MySQL的Performance Schema
为了更好的理解MySQL的performance schema,我以实验的方式分享给大家。
|
关系型数据库 MySQL 数据库
|
SQL 存储 监控