首页 > 其他分享 >按 user 分组统计视图

按 user 分组统计视图

时间:2022-08-29 16:46:18浏览次数:68  
标签:latency admin 视图 summary 分组 user file

在上一篇《按 host 分组统计视图|全方位认识 sys 系统库》中,我们介绍了sys 系统库中按 host 分组统计的视图,类似地,本期的内容将为大家介绍按照 user 进行分类统计的视图。下面请跟随我们一起开始 sys 系统库的系统学习之旅吧。

 

01
user_summary,x$user_summary
 

查看活跃连接中按用户分组的总执行时间、平均执行时间、总的IOS、总的内存使用量、表扫描数量等统计信息,默认按照总延迟时间(执行时间)降序排序。数据来源:performance_schema.accounts、sys.x$user_summary_by_statement_latency、sys.x$user_summary_by_file_io、sys.x$memory_by_user_by_current_bytes

 

下面我们看看使用该视图查询返回的结果。

 

# 不带x$前缀的视图
admin@localhost : sys 12:54:32> select * from user_summary limit 1\G
*************************** 1. row ***************************
user: admin
statements: 90530
statement_latency: 2.09 h
statement_avg_latency: 83.12 ms
table_scans: 498
file_ios: 60662
file_io_latency: 31.05 s
current_connections: 4
total_connections: 1174
unique_hosts: 2
current_memory: 85.34 MiB
total_memory_allocated: 7.21 GiB
1 row in set (0.04 sec)
# 带x$前缀的视图
admin@localhost : sys 12:55:48> select * from x$user_summary limit 1\G
*************************** 1. row ***************************
user: admin
statements: 90752
statement_latency: 7524792139504000
statement_avg_latency: 82915992369.3583
table_scans: 500
file_ios: 60662
file_io_latency: 31053125849250
current_connections: 4
total_connections: 1174
unique_hosts: 2
current_memory: 89381384
total_memory_allocated: 7755173436
1 row in set (0.02 sec)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
 

 

视图字段含义如下:

user:客户端访问用户名。如果在performance_schema表中user列为NULL,则假定为后台线程,该字段为'background',如果为前台线程,则该字段对应具体的用户名

statements:对应用户执行的语句总数量

statement_latency:对应用户执行的语句总延迟时间(执行时间)

statement_avg_latency:对应用户执行的语句中,平均每个语句的延迟时间(执行时间)(SUM(stmt.total_latency/SUM(stmt.total))

table_scans:对应用户执行的语句发生表扫描总次数

file_ios:对应用户执行的语句产生的文件I/O事件总次数

file_io_latency:对应用户执行的语句产生的文件I/O事件的总延迟时间(执行时间)

current_connections:对应用户的当前连接数

total_connections:对应用户的历史总连接数

unique_hosts:对应用户来自不同主机(针对主机名去重)连接的数量

current_memory:对应用户的连接当前已使用的内存分配量

total_memory_allocated:对应用户的连接的历史内存分配量

 

PS:该视图只统计文件IO等待事件信息("wait/io/file/%")

 

02
user_summary_by_file_io,x$user_summary_by_file_io
 

按照用户分组的文件I/O延迟时间、IOS统计信息,默认按照总文件I/O时间延迟时间(执行时间)降序排序。数据来源:performance_schema.events_waits_summary_by_user_by_event_name

 

下面我们看看使用该视图查询返回的结果。

 

# 不带x$前缀的视图
admin@localhost : sys 12:56:18> select * from user_summary_by_file_io limit 3;
+------------+-------+------------+
| user | ios | io_latency |
+------------+-------+------------+
| admin | 30331 | 15.53 s |
| background | 10119 | 2.49 s |
| qfsys | 281 | 4.69 ms |
+------------+-------+------------+
3 rows in set (0.01 sec)
# 带x$前缀的视图
admin@localhost : sys 12:56:21> select * from x$user_summary_by_file_io limit 3;
+------------+-------+----------------+
| user | ios | io_latency |
+------------+-------+----------------+
| admin | 30331 | 15526562924625 |
| background | 10122 | 2489231563125 |
| qfsys | 281 | 4689150375 |
+------------+-------+----------------+
3 rows in set (0.00 sec)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 

 

视图字段含义如下:

user:客户端用户名。如果在performance_schema表中user列为NULL,则假定为后台线程,该字段为'background',如果为前台线程,则该字段对应具体的用户名

ios:对应用户的文件I/O事件总次数

io_latency:对应用户的文件I/O事件的总延迟时间(执行时间)

 

PS:该视图只统计文件IO等待事件信息("wait/io/file/%")

 

03
user_summary_by_file_io_type,x$user_summary_by_file_io_type
 

按照用户和事件类型(事件名称)分组的文件I/O延迟和IOS统计信息,默认情况下按照用户名和总文件I/O时间延迟时间(执行时间)降序排序。数据来源:performance_schema.events_waits_summary_by_user_by_event_name

 

下面我们看看使用该视图查询返回的结果。

 

# 不带x$前缀的视图
admin@localhost : sys 12:56:24> select * from user_summary_by_file_io_type limit 3;
+-------+-------------------------------------+-------+---------+-------------+
| user | event_name | total | latency | max_latency |
+-------+-------------------------------------+-------+---------+-------------+
| admin | wait/io/file/sql/io_cache | 27955 | 10.53 s | 67.61 ms |
| admin | wait/io/file/innodb/innodb_log_file | 912 | 2.14 s | 28.22 ms |
| admin | wait/io/file/sql/binlog | 879 | 2.05 s | 31.75 ms |
+-------+-------------------------------------+-------+---------+-------------+
3 rows in set (0.00 sec)
# 带x$前缀的视图
admin@localhost : sys 12:56:48> select * from x$user_summary_by_file_io_type limit 3;
+-------+-------------------------------------+-------+----------------+-------------+
| user | event_name | total | latency | max_latency |
+-------+-------------------------------------+-------+----------------+-------------+
| admin | wait/io/file/sql/io_cache | 27955 | 10534662677625 | 67608294000 |
| admin | wait/io/file/innodb/innodb_log_file | 912 | 2143870695375 | 28216455000 |
| admin | wait/io/file/sql/binlog | 879 | 2054976453000 | 31745275125 |
+-------+-------------------------------------+-------+----------------+-------------+
3 rows in set (0.01 sec)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 

 

视图字段含义如下:

user:客户端用户名。如果在performance_schema表中user列为NULL,则假定为后台线程,该字段为'background',如果为前台线程,则该字段对应具体的用户名

EVENT_NAME:文件I/O事件名称

total:对应用户发生的文件I/O事件总次数

latency:对应用户的文件I/O事件的总延迟时间(执行时间)

max_latency:对应用户的单次文件I/O事件的最大延迟时间(执行时间)

 

PS:该视图只统计文件IO等待事件信息("wait/io/file/%")

 

04
user_summary_by_stages,x$user_summary_by_stages
 

按用户分组的阶段事件统计信息,默认情况下按照用户名和阶段事件总延迟时间(执行时间)降序排序。数据来源:performance_schema.events_stages_summary_by_user_by_event_name

 

下面我们看看使用该视图查询返回的结果。

 

# 不带x$前缀的视图
admin@localhost : sys 12:56:51> select * from user_summary_by_stages limit 3;
+------------+-------------------------------+-------+---------------+-------------+
| user | event_name | total | total_latency | avg_latency |
+------------+-------------------------------+-------+---------------+-------------+
| background | stage/innodb/buffer pool load | 1 | 12.56 s | 12.56 s |
+------------+-------------------------------+-------+---------------+-------------+
1 row in set (0.01 sec)
# 带x$前缀的视图
admin@localhost : sys 12:57:10> select * from x$user_summary_by_stages limit 3;
+------------+-------------------------------+-------+----------------+----------------+
| user | event_name | total | total_latency | avg_latency |
+------------+-------------------------------+-------+----------------+----------------+
| background | stage/innodb/buffer pool load | 1 | 12561724877000 | 12561724877000 |
+------------+-------------------------------+-------+----------------+----------------+
1 row in set (0.00 sec)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 

 

视图字段含义如下:

user:客户端用户名。如果在performance_schema表中user列为NULL,则假定为后台线程,该字段为'background',如果为前台线程,则该字段对应具体的用户名

EVENT_NAME:阶段事件名称

total:对应用户的阶段事件的总次数

total_latency:对应用户的阶段事件的总延迟时间(执行时间)

avg_latency:对应用户的阶段事件的平均延迟时间(执行时间)

 

05
user_summary_by_statement_latency,x$user_summary_by_statement_latency
 

按照用户分组的语句统计信息,默认情况下按照语句总延迟时间(执行时间)降序排序。数据来源:performance_schema.events_statements_summary_by_user_by_event_name

 

下面我们看看使用该视图查询返回的结果。

 

# 不带x$前缀的视图
admin@localhost : sys 12:57:13> select * from user_summary_by_statement_latency limit 3;
+------------+-------+---------------+-------------+--------------+-----------+---------------+---------------+------------+
| user | total | total_latency | max_latency | lock_latency | rows_sent | rows_examined | rows_affected | full_scans |
+------------+-------+---------------+-------------+--------------+-----------+---------------+---------------+------------+
| admin | 45487 | 1.05 h | 45.66 m | 19.02 s | 6065 | 17578842 | 1544 | 258 |
| qfsys | 9 | 929.43 ms | 928.68 ms | 0 ps | 5 | 0 | 0 | 0 |
| background | 0 | 0 ps | 0 ps | 0 ps | 0 | 0 | 0 | 0 |
+------------+-------+---------------+-------------+--------------+-----------+---------------+---------------+------------+
3 rows in set (0.00 sec)
# 带x$前缀的视图
admin@localhost : sys 12:57:34> select * from x$user_summary_by_statement_latency limit 3;
+------------+-------+------------------+------------------+----------------+-----------+---------------+---------------+------------+
| user | total | total_latency | max_latency | lock_latency | rows_sent | rows_examined | rows_affected | full_scans |
+------------+-------+------------------+------------------+----------------+-----------+---------------+---------------+------------+
| admin | 45562 | 3762457232413000 | 2739502018445000 | 19019928000000 | 6068 | 17579421 | 1544 | 259 |
| qfsys | 9 | 929429421000 | 928682487000 | 0 | 5 | 0 | 0 | 0 |
| background | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
+------------+-------+------------------+------------------+----------------+-----------+---------------+---------------+------------+
3 rows in set (0.00 sec)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 

 

视图字段含义如下:

user:客户端用户名。如果在performance_schema表中user列为NULL,则假定为后台线程,该字段为'background',如果为前台线程,则该字段对应具体的用户名

total:对应用户执行的语句总数量

total_latency:对应用户执行的语句总延迟时间(执行时间)

max_latency:对应用户执行的语句单次最大延迟时间(执行时间)

lock_latency:对应用户执行的语句锁等待的总时间

rows_sent:对应用户执行的语句返回给客户端的总数据行数

rows_examined:对应用户执行的语句从存储引擎读取的总数据行数

rows_affected:对应用户执行的语句影响的总数据行数

full_scans:对应用户执行的语句的全表扫描总次数

 

06
user_summary_by_statement_type,x$user_summary_by_statement_type
 

按用户和语句事件类型(事件类型名称为语句事件的event_name截取最后一部分字符串,也是语句command类型字符串类似)分组的语句统计信息,默认情况下按照用户名和对应语句的总延迟时间(执行时间)降序排序。数据来源:performance_schema.events_statements_summary_by_user_by_event_name

 

下面我们看看使用该视图查询返回的结果。

 

# 不带x$前缀的视图
admin@localhost : sys 12:57:38> select * from user_summary_by_statement_type limit 3;
+-------+-------------+-------+---------------+-------------+--------------+-----------+---------------+---------------+------------+
| user | statement | total | total_latency | max_latency | lock_latency | rows_sent | rows_examined | rows_affected | full_scans |
+-------+-------------+-------+---------------+-------------+--------------+-----------+---------------+---------------+------------+
| admin | alter_table | 2 | 56.56 m | 43.62 m | 0 ps | 0 | 0 | 0 | 0 |
| admin | select | 3662 | 5.53 m | 2.02 m | 4.73 s | 6000 | 17532984 | 0 | 148 |
| admin | insert | 1159 | 36.04 s | 337.22 ms | 14.23 s | 0 | 0 | 1159 | 0 |
+-------+-------------+-------+---------------+-------------+--------------+-----------+---------------+---------------+------------+
3 rows in set (0.00 sec)
# 带x$前缀的视图
admin@localhost : sys 12:57:50> select * from x$user_summary_by_statement_type limit 3;
+-------+-------------+-------+------------------+------------------+----------------+-----------+---------------+---------------+------------+
| user | statement | total | total_latency | max_latency | lock_latency | rows_sent | rows_examined | rows_affected | full_scans |
+-------+-------------+-------+------------------+------------------+----------------+-----------+---------------+---------------+------------+
| admin | alter_table | 2 | 3393877088372000 | 2617456143674000 | 0 | 0 | 0 | 0 | 0 |
| admin | select | 3663 | 331756087959000 | 121243627173000 | 4733109000000 | 6003 | 17533557 | 0 | 149 |
| admin | insert | 1159 | 36041502943000 | 337218573000 | 14229439000000 | 0 | 0 | 1159 | 0 |
+-------+-------------+-------+------------------+------------------+----------------+-----------+---------------+---------------+------------+
3 rows in set (0.00 sec)
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
 

 

视图字段含义如下:

user:客户端用户名。如果在performance_schema表中user列为NULL,则假定为后台线程,该字段为'background',如果为前台线程,则该字段对应具体的用户名

statement:语句事件名称的最后一部分字符串,与语句的command类型字符串类似

其他字段含义与 user_summary_by_statement_latency,x$user_summary_by_statement_latency 视图的字段含义相同
-----------------------------------
©著作权归作者所有:来自51CTO博客作者叶金荣的原创作品,请联系作者获取转载授权,否则将追究法律责任
按 user 分组统计视图|全方位认识 sys 系统库
https://blog.51cto.com/imysql/3171754

标签:latency,admin,视图,summary,分组,user,file
From: https://www.cnblogs.com/lovezhr/p/16636418.html

相关文章

  • 按 host 分组统计视图
    在上一篇《配置表|全方位认识sys系统库》中,我们介绍了sys系统库的配置表,但实际上我们大部分人大多数时候并不需要去修改配置表,直接使用sys系统库下的视图来获取所需的......
  • IOS 和Android H5 打开摄像头拍照 使用navigator.MediaDevices.getUserMedia() 拍照
    <!DOCTYPEhtml><htmllang="en"><head>  <metacharset="UTF-8">  <metahttp-equiv="X-UA-Compatible"content="IE=edge">  <metaname="viewport"......
  • Stream 分组,BigDecimal求和汇总
    //分组 Map<String,List<ChartDataView>>map=data.stream().map(t->{ ChartDataViewc=newChartDataView(); c.setDimension1(t.getDim......
  • Mysql的视图使用场景笔记
    mysql的视图本质上就是一条预定义的联表查询sql语句当设计一个数据库模型的时候,各个数据表模型之间的关系在一定程度上是独立的,即使两个数据模型表之间存在一对多或者多对......
  • UserServlet页面抽取、分类数据展示功能_分析
    UserServlet页面抽取  packagecn.itcast.travel.web.servlet;importcn.itcast.travel.domain.ResultInfo;importcn.itcast.travel.domain.User;importcn.itcast.......
  • windows10下的浏览器userAgent
    windows10下各浏览器userAgent版本号自行理解8-。-浏览器 userAgentChrome Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/67......
  • Drf视图集合
    1.背景:    技术储备,drf适合前后端分离项目,比较适合单表操作的业务,另外丰富的视图集合配合路由自动生成,开发速度能得到极大的提升。 2、视图分类:   ......
  • Flask 学习-22.可插拨视图MethodView类
    前言可插拨视图基于使用类来代替函数,其灵感来自于Django的通用视图。可插拨视图的主要用途是用可定制的、可插拨的视图来替代部分实现。基本原理假设有一个函数用于......
  • .user.ini的注意事项
           关于.user.ini的相关信息及基本利用可以参考一下文章:https://wooyun.js.org/drops/user.ini%E6%96%87%E4%BB%B6%E6%9E%84%E6%88%90%E7%9A%84PHP%E5%90%8E......
  • .htaccess的两种写法和.user.ini
    一、.htaccess文件上传方法一:FileMatch参数即为文件名的正则匹配<FilesMatch"1.jpg"> SetHandlerapplication/x-httpd-php</FilesMatch>//1.jpg<?phpeval($_GET['a......