Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 54b7615

Browse files
committed
更新翻译稿
1 parent 3c9eb58 commit 54b7615

File tree

5 files changed

+227
-66
lines changed

5 files changed

+227
-66
lines changed

‎第2部分 信息来源/Chapter5.md‎

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
# Performance数据库
1+
# Performance Schema
22

33
Performance Schema是与MySQL性能相关的诊断信息的主要来源。它最初是在MySQL 5.5版中引入的,然后在5.6版中对其当前结构进行了重大修改,此后在5.7和8中逐渐得到了改进。
44

5-
本章介绍并概述了性能架构,因此,在本书剩余部分使用Performance Schema时,它的工作方式非常清晰。性能架构的近亲是下一章将讨论的系统架构,信息架构是第 7 章的主题。
5+
本章介绍并概述了Performance Schema,因此,在本书剩余部分使用Performance Schema时,它的工作方式非常清晰。Performance Schema的近亲是下一章将讨论的 sys schema, Information Schema是第 7 章的主题。
66

7-
本章讨论了Performance Schema特有的概念,特别关注线程,工具,使用者,事件,摘要和动态配置。 但是,首先,必须熟悉Performance Schema中使用的术语。
7+
本章讨论了Performance Schema特有的概念,特别关注 threads, instruments, consumers, events, digests和动态配置。 但是,首先,必须熟悉Performance Schema中使用的术语。
88

99
## 术语
1010

1111
在研究新学科时,可能很难的事情之一是术语,Performance Schema也不例外。由于术语之间几乎存在循环关系,因此没有明确的顺序来描述它们。相反,本节将简要概述本章中使用的最重要的术语,因此您可以了解这些术语的含义。在本章结束时,您应该更好地理解这些概念的含义以及它们之间的关系。
1212

13-
表5-1总结了性能模式中最重要的术语
13+
表5-1总结了Performance Schema中最重要的术语
1414

1515
| 术语 | 描述信息 |
1616
| :-------------------- | ------------------------------------------------------------ |
@@ -27,9 +27,9 @@ Performance Schema是与MySQL性能相关的诊断信息的主要来源。它最
2727

2828
在阅读本章时,如果遇到不确定其含义的术语,请参考该表。
2929

30-
## 线程数
30+
## 线程
3131

32-
线程是性能架构中的基本概念。当 MySQL 中执行任何操作时,无论是处理连接还是执行后台工作,工作都是由线程完成的。MySQL 在任何给定时间都有多个线程,因为它允许 MySQL 并行执行工作。对于连接,有一个线程
32+
线程是 Performance Schema中的基本概念。当 MySQL 中执行任何操作时,无论是处理连接还是执行后台工作,工作都是由线程完成的。MySQL 在任何给定时间都有多个线程,因为它允许 MySQL 并行执行工作。对于一个连接,就有一个线程
3333

3434
------
3535

@@ -189,15 +189,15 @@ PROCESSLIST_COMMAND: Query
189189

190190
补充表5-2
191191

192-
| Component | Timed | Count | Description |
193-
| --------- | ----- | ----- | ----------- |
194-
| | | | |
195-
| | | | |
196-
| | | | |
197-
| | | | |
198-
| | | | |
199-
| | | | |
200-
| | | | |
192+
| Component | Timed | Count | Description |
193+
| ----------- | ----- | ----- | ----------- |
194+
| error | No | | |
195+
| idle | Yes | | |
196+
| memory | No | | |
197+
| stage | Yes | | |
198+
| statement | Yes | | |
199+
| transaction | Yes | | |
200+
| wait | Yes | | |
201201

202202
命名方案使得确定仪器测量方法相对容易。您可以在"计算机"表中找到所有setup_instruments,这些仪器还允许您配置仪器是否启用和时间。对于一些仪器,还有一个简短的文档,说明仪器收集的数据。
203203

@@ -221,7 +221,7 @@ performance-schema-instrument = "memory/%=COUNTED"
221221

222222
消费者形成层次结构,如图 5-1 所示。该图分为两部分,高级使用者位于虚线上方,事件使用者位于虚线以下。默认情况下启用绿色(浅色)使用者,默认情况下禁用红色(深色)。
223223

224-
补充图 5-1
224+
![](../附图/Figure 5-1.png)
225225

226226
使用者形成层次结构意味着,只有在启用了层次结构中本身和层次结构中较高位置的所有使用者时,使用者才使用事件。因此,禁用global_instrumentation使用者会有效地禁用所有使用者。
227227

@@ -260,7 +260,7 @@ performance-schema-consumer-events-statements-history-long = ON
260260

261261
有四种事件类型,涵盖从事务到等待的各种详细级别。事件类型还对类似类型的事件进行组,为事件收集的信息取决于其类型。例如,表示语句执行的事件包括查询和检查的行数,而事务事件具有请求的事务隔离级别等信息。图 5-2 显示了事件类型。
262262

263-
补充图 5-2
263+
![](../附图/Figure 5-2.png)
264264

265265
事件对应于不同级别的详细信息,事务级别最高(最低详细信息),等待事件级别最低(最高详细信息):
266266

@@ -317,6 +317,8 @@ mysql> SELECT TABLE_NAME
317317

318318
嵌套可能会变得相当复杂。图 5-3 显示了包括所有四种事件类型在内的事件链的示例。
319319

320+
![](../附图/Figure 5-3.png)
321+
320322
对于语句事件,将显示实际查询,而对于其他事件类型,将显示事件名称或事件名称的一部分。该链从启动事务的 STARTTRANSACTION 语句开始。在事务中,调用 myproc() 过程,该过程使它成为 SELECT 语句的父级,该语句将执行多个阶段,包括阶段/sql/统计,而阶段又包括请求 InnoDB 中的 trx_mutex。
321323

322324
事件表有两列来跟踪事件之间的关系:
@@ -356,7 +358,11 @@ sys.ps_trace_thread() 过程是一个极好的示例,说明如何自动生成
356358

357359
一个例外是不包含时间安排的交易。
358360

359-
**注意 不同的事件类型使用不同的计时器,因此不能使用TIMER_STARTTIMER_END列来订购不同类型的事件。**
361+
------
362+
363+
**注意** 不同的事件类型使用不同的计时器,因此不能使用TIMER_STARTTIMER_END列来订购不同类型的事件。
364+
365+
------
360366

361367
计时以皮秒(10^-12 秒)为单位完成。该单元的选择是性能原因,因为它允许 MySQL 在尽可能多的情况下使用乘法(最便宜的数学运算和加法)。计时列是 64 位无符号整数,这意味着它们将在大约 30.5 周后溢出,此时值将再次从 0 开始。
362368

@@ -411,9 +417,11 @@ Digest: 26b06a0b2f651e04e61751c55f84d0d721d31041ea57cef5998bc475ab9ef773
411417

412418
例如,STATEMENT_DIGEST 如果要查询语句事件表(events_statements_histogram_by_digest 表或 events_statements_summary_by_digest 表)的一个events_statements_summary_by_digest,则函数非常有用,以查找有关具有相同摘要的查询的信息。
413419

414-
**注意:在升级 MySQL 时,不能保证给定查询的摘要保持不变。这意味着您不应比较不同 MySQL 版本摘要。**
420+
------
415421

422+
**注意:在升级 MySQL 时,不能保证给定查询的摘要保持不变。这意味着您不应比较不同 MySQL 版本摘要。**
416423

424+
------
417425

418426
当 MySQL 计算摘要时,查询是令牌化的,为了避免过度使用内存,此进程允许的每个连接的内存量是上限的。这意味着,如果您有大型查询(在查询文本方面),规范化查询(称为摘要文本)将被截断。您可以使用 max_digest_length 变量(默认值为 1024,需要重新启动 MySQL)配置在规范化期间允许连接用于令牌的内存。如果您有大型查询,则可能需要增加此避免查询之间的冲突,这些冲突时间超过max_digest_length字节。如果增加max_digest_length您可能还希望增加"performance_schema_max_digest_length选项,该选项指定存储在性能架构中的摘要文本的最大长度。但是,请注意,因为它会增加性能信息中存储的所有摘要文本值的大小,并且由于性能架构表存储在内存中,因此会导致内存使用量显著增加。作者看到几个支持票证,其中MySQL未能启动,因为摘要长度设置太高,所以MySQL用完了内存。
419427

‎第2部分 信息来源/Chapter6.md‎

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
1-
# sys数据库
1+
# sys schema
22

3-
系统架构是马克·莱思的创意,他长期以来一直是开发 MySQL 企业监视器的团队的一员。他开始了ps_helper项目,以监控理念进行实验,并展示性能架构可以做什么,同时使性能架构更简单。该项目后来重命名为 thesys 架构并移动到 MySQL 中。此后,包括这本书的作者在内的其他几个人也做出了贡献。
3+
sys schema是马克·莱思的创意,他长期以来一直是开发 MySQL 企业监视器的团队的一员。他开始了ps_helper项目,以监控理念进行实验,并展示sys schema可以做什么,同时使sys schema更简单。该项目后来重命名为 thesys 架构并移动到 MySQL 中。此后,包括这本书的作者在内的其他几个人也做出了贡献。
44

5-
系统架构适用于 MySQL 服务器 5.6 及更晚版本。在 MySQL 5.7 中,它成为标准安装的一部分,因此您无需执行任何操作来安装系统或升级系统。截至 MySQL 8.0.18,系统架构源代码是 MySQL 服务器源的一部分。
5+
sys schema适用于 MySQL Server 5.6 及更晚版本。在 MySQL 5.7 中,它成为标准安装的一部分,因此您无需执行任何操作来安装系统或升级系统。截至 MySQL 8.0.18,系统架构源代码是 MySQL 服务器源的一部分。
66

77
系统架构在整本书中用于分析查询、锁等。本章将介绍 sys 架构的高级别概述,包括如何配置它、格式化函数、视图如何工作以及各种帮助程序例程。
88

9-
**提示 sys 架构源代码 (https://github.com/mysql/mysqlserver/tree/8.0/scripts/sys_schema 和较旧的 MySQL versionshttps://github.com/mysql/mysql-sys/) 也是了解如何根据性能架构编写查询的有用资源。**
9+
------
1010

11-
## sys Schema Configuration
11+
**提示** sys 架构源代码 (https://github.com/mysql/mysqlserver/tree/8.0/scripts/sys_schema 和较旧的 MySQL versionshttps://github.com/mysql/mysql-sys/) 也是了解如何根据性能架构编写查询的有用资源。
12+
13+
------
14+
15+
16+
17+
## sys Schema配置
1218

1319
sys 架构使用自己的配置系统,因为它最初是独立于 MySQL 服务器实现的。有两种方法可以更改配置,取决于是永久更改设置还是只更改会话设置。
1420

@@ -93,13 +99,13 @@ city.CountryCode
9399
1 row in set (0.0266 sec)
94100
```
95101

96-
首先,在用户变量的@query查询。这纯粹是为了方便起见,所以很容易继续引用相同的查询。sys_get_config()函数用于获取当前配置值statement_truncate_len选项。这会说明是否设置了@sys.语句_trauncate_len 用户变量。如果提供的选项不存在,则第二个保证提供要返回的值。
102+
首先,在用户变量的@query查询。这纯粹是为了方便起见,所以很容易继续引用相同的查询。sys_get_configt( ) 函数用于获取当前配置值statement_truncate_len选项。这会说明是否设置了@sys.语句_trauncate_len 用户变量。如果提供的选项不存在,则第二个保证提供要返回的值。
97103

98-
format_statement() 函数用于演示 @query 中的语句格式,首先默认值为 statement_truncate_len 的默认值 64,然后 updatingsys_config 的值为 48,最后将会话的值设置为 96。 请注意,在更新 sys_config 表后,@sys.语句_truncate_len 用户变量如何设置为 NULL,以使 MySQL 应用更新到会话的设置。
104+
format_statementt( ) 函数用于演示 @query 中的语句格式,首先默认值为 statement_truncate_len 的默认值 64,然后 updatingsys_config 的值为 48,最后将会话的值设置为 96。 请注意,在更新 sys_config 表后,@sys.语句_truncate_len 用户变量如何设置为 NULL,以使 MySQL 应用更新到会话的设置。
99105

100106
注意 默认情况下,某些 sysschema 功能支持一些配置选项,这些sys_config在 sys_config 表中,例如调试选项。sys 架构对象(https://dev.mysql.com/doc/refman/en/sys-schema-reference.html)的文档包括支持哪些配置选项的信息。
101107

102-
format_statement()函数并不是 sysschema 中的唯一格式函数,因此让我们来看看所有这些格式。
108+
format_statement( ) 函数并不是 sysschema 中的唯一格式函数,因此让我们来看看所有这些格式。
103109

104110

105111

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /