socket_summary_*表 - xiaoboluo768/mysql-system-schema GitHub Wiki

  • 包含如下几张表,performance_schema在这些表中按照不同的分组列(不同纬度)进行聚合socket事件相关的数据(例如:执行次数,总等待时间,最小、最大、平均等待时间),注意,socket事件instruments默认关闭,在consumers表中无具体的对应配置
admin@localhost : performance_schema 06:53:42> show tables like '%socket%summary%';
+-------------------------------------------------+
| Tables_in_performance_schema (%socket%summary%) |
+-------------------------------------------------+
| socket_summary_by_event_name                    |
| socket_summary_by_instance                      |
+-------------------------------------------------+
2 rows in set (0.00 sec)
  • 其中,都有socket_summary_by_event_name 表的字段,除持之外,socket_summary_by_instance表多了OBJECT_INSTANCE_BEGIN字段
CREATE TABLE `socket_summary_by_event_name` (
  `EVENT_NAME` varchar(128) NOT NULL,
  `COUNT_STAR` bigint(20) unsigned NOT NULL,
  `SUM_TIMER_WAIT` bigint(20) unsigned NOT NULL,
  `MIN_TIMER_WAIT` bigint(20) unsigned NOT NULL,
  `AVG_TIMER_WAIT` bigint(20) unsigned NOT NULL,
  `MAX_TIMER_WAIT` bigint(20) unsigned NOT NULL,
  `COUNT_READ` bigint(20) unsigned NOT NULL,
  `SUM_TIMER_READ` bigint(20) unsigned NOT NULL,
  `MIN_TIMER_READ` bigint(20) unsigned NOT NULL,
  `AVG_TIMER_READ` bigint(20) unsigned NOT NULL,
  `MAX_TIMER_READ` bigint(20) unsigned NOT NULL,
  `SUM_NUMBER_OF_BYTES_READ` bigint(20) unsigned NOT NULL,
  `COUNT_WRITE` bigint(20) unsigned NOT NULL,
  `SUM_TIMER_WRITE` bigint(20) unsigned NOT NULL,
  `MIN_TIMER_WRITE` bigint(20) unsigned NOT NULL,
  `AVG_TIMER_WRITE` bigint(20) unsigned NOT NULL,
  `MAX_TIMER_WRITE` bigint(20) unsigned NOT NULL,
  `SUM_NUMBER_OF_BYTES_WRITE` bigint(20) unsigned NOT NULL,
  `COUNT_MISC` bigint(20) unsigned NOT NULL,
  `SUM_TIMER_MISC` bigint(20) unsigned NOT NULL,
  `MIN_TIMER_MISC` bigint(20) unsigned NOT NULL,
  `AVG_TIMER_MISC` bigint(20) unsigned NOT NULL,
  `MAX_TIMER_MISC` bigint(20) unsigned NOT NULL
) ENGINE=PERFORMANCE_SCHEMA DEFAULT CHARSET=utf8
  • 这些套接字摘要表聚合了套接字操作的时间和发送接收字节计数信息:

    • socket_summary_by_event_name:针对每个socket I/O instruments,这些socket操作相关的操作次数、时间和发送接收字节信息由wait/io/socket/* instruments产生
    • socket_summary_by_instance:针对每个socket实例的所有 socket I/O操作,这些socket操作相关的操作次数、时间和发送接收字节信息由wait/io/socket/* instruments产生。但当连接中断时,在该表中对应socket连接的信息行将被删除
    • PS:socket摘要表不会聚合空闲事件生成的等待事件信息,空闲事件的等待信息是记录在等待事件摘要表中进行聚合的
  • 每个套接字摘要表都有一个或多个分组列,表示事件信息如何聚合。事件名称来自setup_instruments表中的name字段:

    • socket_summary_by_event_name表:按照EVENT_NAME列进行分组
    • socket_summary_by_instance表:按照EVENT_NAME(该列有效值为wait/io/socket/sql/client_connection、wait/io/socket/sql/server_tcpip_socket、wait/io/socket/sql/server_unix_socket:)、OBJECT_INSTANCE_BEGIN列进行分组
  • 每个套接字摘要表都包含如下聚合列:

    • COUNT_STAR,SUM_TIMER_WAIT,MIN_TIMER_WAIT,AVG_TIMER_WAIT,MAX_TIMER_WAIT:这些列聚合所有socket读写操作的次数和时间信息
    • COUNT_READ,SUM_TIMER_READ,MIN_TIMER_READ,AVG_TIMER_READ,MAX_TIMER_READ,SUM_NUMBER_OF_BYTES_READ:这些列聚合所有接收操作(socket的RECV、RECVFROM、RECVMS类型操作,即以server为参照的socket读取数据的操作)相关的次数、时间、接收字节数等信息
    • COUNT_WRITE,SUM_TIMER_WRITE,MIN_TIMER_WRITE,AVG_TIMER_WRITE,MAX_TIMER_WRITE,SUM_NUMBER_OF_BYTES_WRITE:这些列聚合了所有发送操作(socket的SEND、SENDTO、SENDMSG类型操作,即以server为参照的socket写入数据的操作)相关的次数、时间、接收字节数等信息
    • COUNT_MISC,SUM_TIMER_MISC,MIN_TIMER_MISC,AVG_TIMER_MISC,MAX_TIMER_MISC:这些列聚合了所有其他套接字操作,如socket的CONNECT、LISTEN,ACCEPT、CLOSE、SHUTDOWN类型操作。注意:这些操作没有字节计数
  • 套接字摘要表允许使用TRUNCATE TABLE语句(除events_statements_summary_by_digest之外),只将聚合列重置为零,而不是删除行

  • 表记录内容示例

# socket_summary_by_event_name表
admin@localhost : performance_schema 02:55:32> select * from socket_summary_by_event_name where COUNT_STAR!=0\G;
*************************** 1. row ***************************
EVENT_NAME: wait/io/socket/sql/client_connection
COUNT_STAR: 8
SUM_TIMER_WAIT: 0
MIN_TIMER_WAIT: 0
AVG_TIMER_WAIT: 0
MAX_TIMER_WAIT: 0
COUNT_READ: 4
SUM_TIMER_READ: 0
MIN_TIMER_READ: 0
AVG_TIMER_READ: 0
MAX_TIMER_READ: 0
SUM_NUMBER_OF_BYTES_READ: 192
COUNT_WRITE: 4
SUM_TIMER_WRITE: 0
MIN_TIMER_WRITE: 0
AVG_TIMER_WRITE: 0
MAX_TIMER_WRITE: 0
SUM_NUMBER_OF_BYTES_WRITE: 9753
COUNT_MISC: 0
SUM_TIMER_MISC: 0
MIN_TIMER_MISC: 0
AVG_TIMER_MISC: 0
MAX_TIMER_MISC: 0
1 row in set (0.00 sec)

# socket_summary_by_instance表
admin@localhost : performance_schema 02:57:10> select * from socket_summary_by_instance where COUNT_STAR!=0\G;
*************************** 1. row ***************************
              EVENT_NAME: wait/io/socket/sql/client_connection
    OBJECT_INSTANCE_BEGIN: 112730944
              COUNT_STAR: 16
          SUM_TIMER_WAIT: 0
          MIN_TIMER_WAIT: 0
          AVG_TIMER_WAIT: 0
          MAX_TIMER_WAIT: 0
              COUNT_READ: 8
          SUM_TIMER_READ: 0
          MIN_TIMER_READ: 0
          AVG_TIMER_READ: 0
          MAX_TIMER_READ: 0
SUM_NUMBER_OF_BYTES_READ: 353
              COUNT_WRITE: 8
          SUM_TIMER_WRITE: 0
          MIN_TIMER_WRITE: 0
          AVG_TIMER_WRITE: 0
          MAX_TIMER_WRITE: 0
SUM_NUMBER_OF_BYTES_WRITE: 16464
              COUNT_MISC: 0
          SUM_TIMER_MISC: 0
          MIN_TIMER_MISC: 0
          AVG_TIMER_MISC: 0
          MAX_TIMER_MISC: 0
1 row in set (0.00 sec)

上一篇: table_*summary*表 | 下一篇: memory_summary_*表