苹果2018秋季新品发布会前瞻,performance_schema全方

原标题:数据库对象事件与属性统计 | performance_schema全方位介绍(五)

原标题:荣耀8X Max挑战屏占性价比:现场粉碎低屏占比手机

原标题:苹果2018秋季新品发布会前瞻:新AppleWatch提升很大

图片 1

9月5日,荣耀在古都西安正式发布了荣耀8X、荣耀8X Max两款新机,屏占比都超过90%而价格只要千元起步成为最大亮点。

站长之家(ChinaZ.com) 9 月 12 日消息:苹果 2018 年秋季新品发布会除了会发布三款新iPhone之外还有其他产品,其中就有全新的AppleWatch了,最新的报道显示新AppleWatch将搭载 64 位处理器,它也是首款 64 位苹果手表,这样看来watchOS也渐渐要抛弃 32 位的应用了。此前iOS就已经率先抛弃了 32 位应用。

上一篇 《事件统计 | performance_schema全方位介绍》详细介绍了performance_schema的事件统计表,但这些统计数据粒度太粗,仅仅按照事件的5大类别 用户、线程等维度进行分类统计,但有时候我们需要从更细粒度的维度进行分类统计,例如:某个表的IO开销多少、锁开销多少、以及用户连接的一些属性统计信息等。此时就需要查看数据库对象事件统计表与属性统计表了。今天将带领大家一起踏上系列第五篇的征程(全系共7个篇章),本期将为大家全面讲解performance_schema中对象事件统计表与属性统计表。下面,请跟随我们一起开始performance_schema系统的学习之旅吧~

荣耀8X、荣耀8X Max分别配备了6.5寸、7.12寸的大号全面屏,一个是刘海屏,一个是水滴屏(美人尖),不过都起了个好听的新名字“珍珠屏”,屏占比都超过90%的同时,握感分别只相当于传统5.5寸和6.3寸机型。

图片 2

友情提示:下文中的统计表中大部分字段含义与上一篇 《事件统计 | performance_schema全方位介绍》 中提到的统计表字段含义相同,下文中不再赘述。此外,由于部分统计表中的记录内容过长,限于篇幅会省略部分文本,如有需要请自行安装MySQL 5.7.11以上版本跟随本文进行同步操作查看。

极光双纹理背部设计、麒麟710处理器、双扬声器加杜比全景声、独立三卡槽、前后AI四摄、AI电梯模式/AI防伪基站等等也都堪称亮点。

报道还表示,新AppleWatch将搭载全新的S4 处理器,同时采用窄边框设计,相对于上一代苹果手表来说有至少20%显示面积的提升,屏幕分辨率也相应提升到384*480。

01

图片 3

另外,分析师郭明池表示新一代AppleWatch将全部采用陶瓷后壳,支持心电图功能。相对于前三代产品来说,新的AppleWatch有不错的硬件提升,就是不知道这续航方面是不是也有所改善了。

数据库对象统计表

9月7日,还是在西安,荣耀为新生的荣耀8X系列举办了一场线下体验活动,更是玩出花活。

图片 4返回搜狐,查看更多

1.数据库表级别对象等待事件统计

荣耀官方一直在强调荣耀8X系列的影院级大屏享受,主要来自高屏占比大屏幕、杜比全景声双扬声器,而在活动现场,荣耀更是用多达162部荣耀8X Max拼接成一个大屏幕,播放《碟中谍6》预告片,整体如一块屏幕而无明显割裂感,效果相当震撼。

责任编辑:

按照数据库对象名称(库级别对象和表级别对象,如:库名和表名)进行统计的等待事件。按照OBJECT_TYPE、OBJECT_SCHEMA、OBJECT_NAME列进行分组,按照COUNT_STAR、xxx_TIMER_WAIT字段进行统计。包含一张objects_summary_global_by_type表。

当然,多手机拼接并不是第一次,但得益于全面屏带来的超窄边框和超高屏占比,这款目前罕见的90%高屏占比千元机带来了更加整体化的效果。

我们先来看看表中记录的统计信息是什么样子的。

图片 5

admin@localhost : performance _schema 11:10:42> select * from objects_summary _global_by _type where SUM_TIMER_WAIT!=0G;

“全面瓦解低屏占比手机”更是别出心裁。如果你的手机屏占比太低,就可以直接把它扔进粉碎机,然后就能获赠高屏占比的荣耀8X或者荣耀8X Max。这么玩的还真没听说过。

*************************** 1. row ***************************

在现场,一位姑娘甚至将前男友送的礼物都给粉碎了,也得到了一部荣耀8X Max抚慰受伤的心灵。

OBJECT_TYPE: TABLE

意外的是,一位女职员甚至当场粉碎了自己的劳动合同,并扬言“太累了,暂时不想工作了,想出去看看世界”,堪称年度最有勇气女职员,献上了特殊的一个小插曲。

OBJECT_SCHEMA: xiaoboluo

图片 6

OBJECT_NAME: test

图片 7

COUNT_STAR: 56

不过,这次活动也不全是看和玩,荣耀8X系列产品经理也来到活动现场,并提出了一个好像还从没有人想到过的问题,那就是全面屏手机的性价比与屏占比的直接关系,并给出了一个非常有趣的屏占性价比公式:屏占性价比=1/价格×屏占比×104。

SUM _TIMER_WAIT: 195829830101250

据介绍,这个公式是通过用屏占比除以售价的结果数值,来简单判断屏占性价比的高低,数值越大,就意味着屏占比越高,同时售价越低。

MIN _TIMER_WAIT: 2971125

根据这个公式计算,荣耀8X、荣耀8X Max分别得到了6、6.5的高分。

AVG _TIMER_WAIT: 3496961251500

图片 8

MAX _TIMER_WAIT: 121025235946125

目前,荣耀8X Max已经放量开售,骁龙636 40GB 64GB 1499元,骁龙636 4GB 128GB 1799元,10月初还会有一个骁龙660 6GB 64GB的版本。

1 row in set (0.00 sec)

荣耀8X则有三个版本,4GB 64GB 1399元、6GB 64GB 1599元、6GB 128GB 1899元,也已于11日10点08分正式开卖。

从表中的记录内容可以看到,按照库xiaoboluo下的表test进行分组,统计了表相关的等待事件调用次数,总计、最小、平均、最大延迟时间信息,利用这些信息,我们可以大致了解InnoDB中表的访问效率排行统计情况,一定程度上反应了对存储引擎接口调用的效率。

图片 9返回搜狐,查看更多

2.表I/O等待和锁等待事件统计

责任编辑:

与objects_summary_global_by_type 表统计信息类似,表I/O等待和锁等待事件统计信息更为精细,细分了每个表的增删改查的执行次数,总等待时间,最小、最大、平均等待时间,甚至精细到某个索引的增删改查的等待时间,表IO等待和锁等待事件instruments(wait/io/table/sql/handler和wait/lock/table/sql/handler )默认开启,在setup_consumers表中无具体的对应配置,默认表IO等待和锁等待事件统计表中就会统计相关事件信息。包含如下几张表:

admin@localhost : performance_schema 06:50:03> show tables like '%table%summary%';

------------------------------------------------

| Tables_in_performance_schema (%table%summary%) |

------------------------------------------------

| table_io_waits_summary_by_index_usage |# 按照每个索引进行统计的表I/O等待事件

| table_io_waits_summary_by_table |# 按照每个表进行统计的表I/O等待事件

| table_lock_waits_summary_by_table |# 按照每个表进行统计的表锁等待事件

------------------------------------------------

3rows inset ( 0. 00sec)

我们先来看看表中记录的统计信息是什么样子的。

# table_io_waits_summary_by_index_usage表

admin@localhost : performance _schema 01:55:49> select * from table_io _waits_summary _by_index _usage where SUM_TIMER_WAIT!=0G;

*************************** 1. row ***************************

OBJECT_TYPE: TABLE

OBJECT_SCHEMA: xiaoboluo

OBJECT_NAME: test

INDEX_NAME: PRIMARY

COUNT_STAR: 1

SUM _TIMER_WAIT: 56688392

MIN _TIMER_WAIT: 56688392

AVG _TIMER_WAIT: 56688392

MAX _TIMER_WAIT: 56688392

COUNT_READ: 1

SUM _TIMER_READ: 56688392

MIN _TIMER_READ: 56688392

AVG _TIMER_READ: 56688392

MAX _TIMER_READ: 56688392

......

1 row in set (0.00 sec)

# table_io_waits_summary_by_table表

admin@localhost : performance _schema 01:56:16> select * from table_io _waits_summary _by_table where SUM _TIMER_WAIT!=0G;

*************************** 1. row ***************************

OBJECT_TYPE: TABLE

OBJECT_SCHEMA: xiaoboluo

OBJECT_NAME: test

COUNT_STAR: 1

............

1 row in set (0.00 sec)

# table_lock_waits_summary_by_table表

admin@localhost : performance _schema 01:57:20> select * from table_lock _waits_summary _by_table where SUM _TIMER_WAIT!=0G;

*************************** 1. row ***************************

OBJECT_TYPE: TABLE

OBJECT_SCHEMA: xiaoboluo

OBJECT_NAME: test

............

COUNT_READ_NORMAL: 0

SUM_TIMER_READ_NORMAL: 0

MIN_TIMER_READ_NORMAL: 0

AVG_TIMER_READ_NORMAL: 0

MAX_TIMER_READ_NORMAL: 0

COUNT _READ_WITH _SHARED_LOCKS: 0

SUM _TIMER_READ _WITH_SHARED_LOCKS: 0

MIN _TIMER_READ _WITH_SHARED_LOCKS: 0

AVG _TIMER_READ _WITH_SHARED_LOCKS: 0

MAX _TIMER_READ _WITH_SHARED_LOCKS: 0

......

1 row in set (0.00 sec)

从上面表中的记录信息我们可以看到,table_io_waits_summary_by_index_usage表和table_io_waits_summary_by_table有着类似的统计列,但table_io_waits_summary_by_table表是包含整个表的增删改查等待事件分类统计,table_io_waits_summary_by_index_usage区分了每个表的索引的增删改查等待事件分类统计,而table_lock_waits_summary_by_table表统计纬度类似,但它是用于统计增删改查对应的锁等待时间,而不是IO等待时间,这些表的分组和统计列含义请大家自行举一反三,这里不再赘述,下面针对这三张表做一些必要的说明:

table_io_waits_summary_by_table表:

该表允许使用TRUNCATE TABLE语句。只将统计列重置为零,而不是删除行。对该表执行truncate还会隐式truncate table_io_waits_summary_by_index_usage表

table_io_waits_summary_by_index_usage表:

按照与table_io_waits_summary_by_table的分组列 INDEX_NAME列进行分组,INDEX_NAME有如下几种 :

·如果使用到了索引,则这里显示索引的名字,如果为PRIMARY,则表示表I/O使用到了主键索引

·如果值为NULL,则表示表I/O没有使用到索引

·如果是插入操作,则无法使用到索引,此时的统计值是按照INDEX_NAME = NULL计算的

该表允许使用TRUNCATE TABLE语句。只将统计列重置为零,而不是删除行。该表执行truncate时也会隐式触发table_io_waits_summary_by_table表的truncate操作。另外使用DDL语句更改索引结构时,会导致该表的所有索引统计信息被重置

table_lock_waits_summary_by_table表:

该表的分组列与table_io_waits_summary_by_table表相同

该表包含有关内部和外部锁的信息:

·内部锁对应SQL层中的锁。是通过调用thr_lock()函数来实现的。(官方手册上说有一个OPERATION列来区分锁类型,该列有效值为:read normal、read with shared locks、read high priority、read no insert、write allow write、write concurrent insert、write delayed、write low priority、write normal。但在该表的定义上并没有看到该字段)

·外部锁对应存储引擎层中的锁。通过调用handler::external_lock()函数来实现。(官方手册上说有一个OPERATION列来区分锁类型,该列有效值为:read external、write external。但在该表的定义上并没有看到该字段)

该表允许使用TRUNCATE TABLE语句。只将统计列重置为零,而不是删除行。

3.文件I/O事件统计

文件I/O事件统计表只记录等待事件中的IO事件(不包含table和socket子类别),文件I/O事件instruments默认开启,在setup_consumers表中无具体的对应配置。它包含如下两张表:

admin@localhost : performance_schema 06:48:12> show tables like '%file_summary%';

-----------------------------------------------

| Tables_in_performance_schema (%file_summary%) |

-----------------------------------------------

| file_summary_by_event_name |

| file_summary_by_instance |

-----------------------------------------------

2rows inset ( 0. 00sec)

两张表中记录的内容很相近:

·file_summary_by_event_name:按照每个事件名称进行统计的文件IO等待事件

·file_summary_by_instance:按照每个文件实例(对应具体的每个磁盘文件,例如:表sbtest1的表空间文件sbtest1.ibd)进行统计的文件IO等待事件

我们先来看看表中记录的统计信息是什么样子的。

# file_summary_by_event_name表

admin@localhost : performance _schema 11:00:44> select * from file_summary _by_event _name where SUM_TIMER _WAIT !=0 and EVENT_NAME like '%innodb%' limit 1G;

*************************** 1. row ***************************

EVENT_NAME: wait/io/file/innodb/innodb_data_file

COUNT_STAR: 802

SUM_TIMER_WAIT: 412754363625

MIN_TIMER_WAIT: 0

AVG_TIMER_WAIT: 514656000

MAX_TIMER_WAIT: 9498247500

COUNT_READ: 577

SUM_TIMER_READ: 305970952875

MIN_TIMER_READ: 15213375

AVG_TIMER_READ: 530278875

MAX_TIMER_READ: 9498247500

SUM _NUMBER_OF _BYTES_READ: 11567104

......

1 row in set (0.00 sec)

# file_summary_by_instance表

admin@localhost : performance _schema 11:01:23> select * from file_summary _by_instance where SUM _TIMER_WAIT!=0 and EVENT_NAME like '%innodb%' limit 1G;

*************************** 1. row ***************************

FILE_NAME: /data/mysqldata1/innodb_ts/ibdata1

EVENT_NAME: wait/io/file/innodb/innodb_data_file

OBJECT _INSTANCE_BEGIN: 139882156936704

COUNT_STAR: 33

............

1 row in set (0.00 sec)

从上面表中的记录信息我们可以看到:

·每个文件I/O统计表都有一个或多个分组列,以表明如何统计这些事件信息。这些表中的事件名称来自setup_instruments表中的name字段:

* file_summary_by_event_name表:按照EVENT_NAME列进行分组 ;

* file_summary_by_instance表:有额外的FILE_NAME、OBJECT_INSTANCE_BEGIN列,按照FILE_NAME、EVENT_NAME列进行分组,与file_summary_by_event_name 表相比,file_summary_by_instance表多了FILE_NAME和OBJECT_INSTANCE_BEGIN字段,用于记录具体的磁盘文件相关信息。

·每个文件I/O事件统计表有如下统计字段:

* COUNT_STAR,SUM_TIMER_WAIT,MIN_TIMER_WAIT,AVG_TIMER_WAIT,MAX_TIMER_WAIT:这些列统计所有I/O操作数量和操作时间 ;

* COUNT_READ,SUM_TIMER_READ,MIN_TIMER_READ,AVG_TIMER_READ,MAX_TIMER_READ,SUM_NUMBER_OF_BYTES_READ:这些列统计了所有文件读取操作,包括FGETS,FGETC,FREAD和READ系统调用,还包含了这些I/O操作的数据字节数 ;

* COUNT_WRITE,SUM_TIMER_WRITE,MIN_TIMER_WRITE,AVG_TIMER_WRITE,MAX_TIMER_WRITE,SUM_NUMBER_OF_BYTES_WRITE:这些列统计了所有文件写操作,包括FPUTS,FPUTC,FPRINTF,VFPRINTF,FWRITE和PWRITE系统调用,还包含了这些I/O操作的数据字节数 ;

* COUNT_MISC,SUM_TIMER_MISC,MIN_TIMER_MISC,AVG_TIMER_MISC,MAX_TIMER_MISC:这些列统计了所有其他文件I/O操作,包括CREATE,DELETE,OPEN,CLOSE,STREAM_OPEN,STREAM_CLOSE,SEEK,TELL,FLUSH,STAT,FSTAT,CHSIZE,RENAME和SYNC系统调用。注意:这些文件I/O操作没有字节计数信息。

文件I/O事件统计表允许使用TRUNCATE TABLE语句。但只将统计列重置为零,而不是删除行。

PS:MySQL server使用几种缓存技术通过缓存从文件中读取的信息来避免文件I/O操作。当然,如果内存不够时或者内存竞争比较大时可能导致查询效率低下,这个时候您可能需要通过刷新缓存或者重启server来让其数据通过文件I/O返回而不是通过缓存返回。

4.套接字事件统计

套接字事件统计了套接字的读写调用次数和发送接收字节计数信息,socket事件instruments默认关闭,在setup_consumers表中无具体的对应配置,包含如下两张表:

·socket_summary_by_instance:针对每个socket实例的所有 socket I/O操作,这些socket操作相关的操作次数、时间和发送接收字节信息由wait/io/socket/* instruments产生。但当连接中断时,在该表中对应socket连接的信息行将被删除(这里的socket是指的当前活跃的连接创建的socket实例)

·socket_summary_by_event_name:针对每个socket I/O instruments,这些socket操作相关的操作次数、时间和发送接收字节信息由wait/io/socket/* instruments产生(这里的socket是指的当前活跃的连接创建的socket实例)

可通过如下语句查看:

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 |

-------------------------------------------------

2rows inset ( 0. 00sec)

我们先来看看表中记录的统计信息是什么样子的。

# socket_summary_by_event_name表

root@localhost : performance _schema 04:44:00> select * from socket_summary _by_event_nameG;

*************************** 1. row ***************************

EVENT_NAME: wait/io/socket/sql/server_tcpip_socket

COUNT_STAR: 2560

SUM_TIMER_WAIT: 62379854922

MIN_TIMER_WAIT: 1905016

AVG_TIMER_WAIT: 24366870

MAX_TIMER_WAIT: 18446696808701862260

COUNT_READ: 0

SUM_TIMER_READ: 0

MIN_TIMER_READ: 0

AVG_TIMER_READ: 0

MAX_TIMER_READ: 0

SUM _NUMBER_OF _BYTES_READ: 0

......

*************************** 2. row ***************************

EVENT_NAME: wait/io/socket/sql/server_unix_socket

COUNT_STAR: 24

......

*************************** 3. row ***************************

EVENT_NAME: wait/io/socket/sql/client_connection

COUNT_STAR: 213055844

......

3 rows in set (0.00 sec)

# socket_summary_by_instance表

root@localhost : performance _schema 05:11:45> select * from socket_summary _by_instance where COUNT_STAR!=0G;

*************************** 1. row ***************************

EVENT_NAME: wait/io/socket/sql/server_tcpip_socket

OBJECT _INSTANCE_BEGIN: 2655350784

......

*************************** 2. row ***************************

EVENT_NAME: wait/io/socket/sql/server_unix_socket

OBJECT _INSTANCE_BEGIN: 2655351104

......

*************************** 3. row ***************************

EVENT_NAME: wait/io/socket/sql/client_connection

OBJECT _INSTANCE_BEGIN: 2658003840

......

*************************** 4. row ***************************

本文由钱柜qg777手机官网发布于www.qg777.com,转载请注明出处:苹果2018秋季新品发布会前瞻,performance_schema全方

您可能还会对下面的文章感兴趣: