Skip to content

Commit 1b84f93

Browse files
AI Translate 00-contributor to Simplified-Chinese (#2673)
* [INIT] Start translation to Simplified-Chinese * 🌐 Translate 04-how-to-profiling.md to Simplified-Chinese * 🌐 Translate 04-how-to-profiling.md to Simplified-Chinese * 🌐 Translate 04-how-to-profiling.md to Simplified-Chinese * 🌐 Translate 04-how-to-profiling.md to Simplified-Chinese * 🌐 Translate 04-how-to-profiling.md to Simplified-Chinese * 🌐 Translate 04-how-to-profiling.md to Simplified-Chinese * 🌐 Translate 04-how-to-profiling.md to Simplified-Chinese --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: z <[email protected]>
1 parent 38f7951 commit 1b84f93

File tree

8 files changed

+267
-228
lines changed

8 files changed

+267
-228
lines changed

.translation-init

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Translation initialization: 2025-08-11T07:40:38.341999
1+
Translation initialization: 2025-08-11T07:47:48.618469

docs/cn/developer/20-community/00-contributor/04-how-to-profiling.md

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,54 @@
1-
## CPU profiling
1+
---
2+
title: 如何对 Databend 进行性能分析
3+
---
4+
5+
## CPU 性能分析
26

37
```
48
go tool pprof -http="0.0.0.0:8081" http://localhost:8080/debug/pprof/profile?seconds=30
59
```
610

7-
打开 `<your-ip>:8081` 并在站点标题的 VIEW 菜单中选择 `Flame Graph`:
8-
<img src="https://user-images.githubusercontent.com/172204/208336392-5b64bb9b-cce8-4562-9e05-c3d538e9d8a6.png"/>
11+
打开 `<your-ip>:8081`,并从网站头部的 VIEW 菜单中选择 `Flame Graph`
12+
<img alt="CPU profiling" src="https://user-images.githubusercontent.com/172204/208336392-5b64bb9b-cce8-4562-9e05-c3d538e9d8a6.png"/>
13+
14+
## 查询级别的 CPU 性能分析
915

10-
## Memory profiling
16+
`EXPLAIN PERF <statement>` 也可用于 CPU 性能分析,它专注于特定查询,并从其他节点收集 CPU 分析数据,以帮助分析查询性能。更多细节请查阅 [EXPLAIN PERF](/sql/sql-commands/explain-cmds/explain-perf)
1117

12-
`databend-query``databend-meta` 可以选择使用 `jemalloc` 构建,
13-
它提供了各种内存 profiling 功能。
18+
## 内存性能分析
1419

15-
目前,它在 Mac 上不起作用,无论 intel 还是 Arm
20+
`databend-query``databend-meta` 可以选择性地使用 `jemalloc` 进行构建,`jemalloc` 提供了多种内存性能分析功能
1621

17-
### 启用内存 profiling
22+
目前,它在 Mac(无论是 Intel 还是 Arm 芯片)上无法工作。
1823

19-
1. 构建启用 `memory-profiling` 功能的 `databend-query`:
20-
```
21-
cargo build --bin databend-query --release --features memory-profiling
22-
```
24+
### 启用内存性能分析
2325

24-
2. 启动 `databend`,使用环境变量 `MALLOC_CONF` 启用内存 profiling:
25-
26-
```
27-
MALLOC_CONF=prof:true,lg_prof_interval:30 ./target/release/databend-query
28-
```
26+
1. 启用 `memory-profiling` 功能来构建 `databend-query`
2927

30-
### 生成堆 profile
28+
```
29+
cargo build --bin databend-query --release --features memory-profiling
30+
```
3131

32-
`pdf` 中生成一个调用图,说明此间隔期间的内存分配:
32+
2. 启动 `databend`,使用环境变量 `MALLOC_CONF` 来启用内存性能分析:
33+
34+
```
35+
MALLOC_CONF=prof:true,lg_prof_interval:30 ./target/release/databend-query
36+
```
37+
38+
### 生成堆分析报告
39+
40+
生成一个 `pdf` 格式的调用图,展示此时间间隔内的内存分配情况:
3341

3442
```
3543
jeprof --pdf ./target/release/databend-query heap.prof > heap.pdf
3644
```
3745

38-
<img src="https://user-images.githubusercontent.com/172204/204963954-f6eacf10-d8bd-4469-9c8d-7d30955f1a78.png" width="600"/>
46+
<img alt="Generate heap profile" src="https://user-images.githubusercontent.com/172204/204963954-f6eacf10-d8bd-4469-9c8d-7d30955f1a78.png" width="600"/>
47+
48+
### 快速 jeprof
49+
50+
对于大型堆分析,jeprof 非常慢,瓶颈在于 `addr2line`。如果你想从 **30 分钟** 加速到 **3 秒**,请使用:
3951

40-
### Fast jeprof
41-
jeprof 对于大型堆分析来说非常慢,瓶颈在于 `addr2line`,如果你想把速度从 **30 分钟提高到 3 秒**,请使用:
4252
```
4353
git clone https://github.com/gimli-rs/addr2line
4454
cd addr2line
Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,63 @@
11
---
2-
title: 理解 Databend 的部署方式
3-
sidebar_label: 部署方式
2+
title: 理解 Databend 部署
3+
sidebar_label: 理解部署
44
description: 描述 Databend 的部署模式
55
---
66

77
import LanguageDocs from '@site/src/components/LanguageDocs';
88

99
## Databend 节点类型
1010

11-
在 Databend 部署中,使用了两种类型的节点:Meta 节点和 Query 节点。
11+
在 Databend 部署中,会使用两种类型的节点:Meta 节点和 Query 节点。
1212

13-
Meta 节点负责存储和管理各种类型的元数据。这包括与数据库、表和集群相关的信息。此外,Meta 节点还处理用户信息,例如授权和身份验证。它作为管理和组织元数据以及用户相关数据的中心仓库
13+
Meta 节点负责存储和管理各种类型的元数据(Metadata),包括与数据库、表和集群相关的信息。此外,Meta 节点还处理用户信息,例如授权和认证。它作为管理和组织元数据及用户相关数据的中央存储库
1414

15-
另一方面,Query 节点专门用于处理查询。它负责执行用户查询,从底层存储中检索数据,并将结果返回给用户。Query 节点处理 Databend 的计算方面,确保高效准确的查询处理
15+
另一方面,Query 节点专用于处理查询。它负责执行用户查询,从底层存储中检索数据,并将结果返回给用户。Query 节点处理 Databend 的计算方面,确保高效、准确地处理查询
1616

17-
请注意,当我们提到“节点”时,它指的是托管和运行 Databend 系统特定组件的单个服务器。每个节点,例如 Meta 节点或 Query 节点,通常在处理数据和执行查询方面发挥着不同的作用
17+
请注意,当我们提到“节点”时,它指的是托管和运行 Databend 系统特定组件的独立服务器。每个节点, Meta 节点或 Query 节点,通常在处理数据和执行查询方面有不同的用途
1818

1919
## 部署模式
2020

21-
Databend 部署提供两种模式:standalone 和 cluster,每种模式都有不同的应用场景和节点配置。
21+
Databend 部署提供两种模式:单机(Standalone)和集群(Cluster),每种模式都有不同的应用场景和节点配置。
2222

23-
### Standalone 部署
23+
### 单机部署
2424

25-
在 standalone 模式下,标准配置由单个 Meta 节点和单个 Query 节点组成。这种最小设置适用于测试目的或小规模部署。但是,重要的是要注意,由于其有限的可扩展性和缺少高可用性功能,不建议在生产环境中使用 standalone 模式
25+
在单机模式下,标准配置包括一个 Meta 节点和一个 Query 节点。这种最小化设置适用于测试目的或小规模部署。但需要注意的是,由于其可扩展性有限且缺乏高可用性功能,不建议在生产环境中使用单机模式
2626

27-
<img src="/img/deploy/deploy-standalone-arch.png"/>
27+
<img alt="单机部署" src="/img/deploy/deploy-standalone-arch.png"/>
2828

29-
Standalone Databend 部署中,可以将 Meta 节点和 Query 节点都托管在单个服务器上。文档中的以下主题可帮助您设置和部署 standalone Databend:
29+
在 Databend 单机部署中,可以将 Meta 节点和 Query 节点都托管在同一台服务器上。文档中的以下主题可帮助您设置和部署单机版 Databend:
3030

31-
- [Deploying a Standalone Databend](01-non-production/01-deploying-databend.md)
32-
- [Local and Docker Deployments](01-non-production/00-deploying-local.md)
31+
- [部署单机版 Databend](01-non-production/01-deploying-databend.md)
32+
- [本地和 Docker 部署](01-non-production/00-deploying-local.md)
3333

34-
### Cluster 部署
34+
### 集群部署
3535

36-
Cluster 模式专为更大规模的部署而设计,并提供增强的功能。在 Databend 集群中,建议至少有三个 Meta 节点,形成一个 Meta 集群,以确保高可用性和容错能力。对于生产目的,Databend 建议使用由三到五个 Meta 节点组成的 Meta 集群。
36+
集群模式专为大规模部署设计,并提供增强功能。在 Databend 集群中,建议至少有三个 Meta 节点,组成一个 Meta 集群以确保高可用性和容错性。对于生产环境,Databend 建议使用由三到五个 Meta 节点组成的 Meta 集群。
3737

38-
在 Databend 集群中,可以部署多个 Query 节点,并且可以通过将特定的 Query 节点分组在一起(使用 Cluster ID)来创建更强大的 Query 集群,以满足不同的查询性能需求。一个 Databend 集群有能力容纳多个 Query 集群。默认情况下,Databend 会最大限度地利用计算并发性,允许单个 SQL 查询利用单个 Query 节点中的所有可用 CPU 核心。但是,当使用 Query 集群时,Databend 会利用并发调度并在整个集群中执行计算。这种方法最大限度地提高了系统性能并提供了增强的计算能力
38+
在 Databend 集群中,可以部署多个 Query 节点,并且可以通过将特定的 Query 节点组合在一起(使用集群 ID)来创建更强大的 Query 集群,以满足不同的查询性能要求。一个 Databend 集群可以容纳多个 Query 集群。默认情况下,Databend 会最大限度地利用计算并发性,允许单个 SQL 查询使用单个 Query 节点内的所有可用 CPU 核心。但是,当使用 Query 集群时,Databend 会利用并发调度,在整个集群中执行计算。这种方法可以最大限度地提高系统性能并提供增强的计算能力
3939

40-
<img src="/img/deploy/deploy-cluster-arch.png"/>
40+
<img alt="集群部署" src="/img/deploy/deploy-cluster-arch.png"/>
4141

42-
#### Query 集群大小
42+
#### Query 集群规模
4343

44-
对于 Query 集群,Databend 没有特定的最佳实践或推荐的节点数量。Query 集群中的节点数量可以根据您的具体需求和工作负载而变化
44+
对于 Query 集群,Databend 没有特定的最佳实践或推荐的节点数量。Query 集群中的节点数量可以根据您的具体要求和工作负载而变化
4545

4646
Query 集群的主要目标是确保查询处理速度满足您的需求并提供最佳性能。可以相应地调整集群中的节点数量,以实现所需的查询性能和吞吐量。
4747

48-
#### 租户管理
48+
#### 租户(Tenant)管理
4949

50-
租户是指利用系统提供的服务或资源的实体或组织。在 Databend 中,租户与唯一的租户 ID 相关联,该 ID 用作在 Databend 中区分和管理其数据、用户和资源的标识符
50+
租户(Tenant)是指使用系统提供的服务或资源的实体或组织。在 Databend 中,一个租户(Tenant)关联一个唯一的租户 ID(Tenant ID),该 ID 作为标识符,用于在 Databend 中区分和管理其数据、用户和资源
5151

52-
对于 Query 集群,当 Query 节点收到 SQL 请求时,计算工作负载会在共享相同租户 ID 和集群 ID 的 Query 节点之间有效地分配。请注意,具有相同租户 ID 但不同集群 ID 的 Query 节点提供了一种工作负载隔离机制,同时仍然共享相同的数据和用户列表。
52+
Query 集群中,当一个 Query 节点收到 SQL 请求时,计算工作负载会有效地分配给共享相同租户 ID 和集群 ID 的 Query 节点。请注意,具有相同租户 ID 但不同集群 ID 的 Query 节点提供了一种工作负载隔离机制,同时仍然共享相同的数据和用户列表。
5353

5454
![Alt text](/img/deploy/tenantid.PNG)
5555

5656
## 部署环境
5757

5858
本主题提供有关 Databend 节点的推荐硬件规格和支持的对象存储平台的信息。
5959

60-
### 硬件建议
60+
### 硬件推荐
6161

6262
<LanguageDocs
6363

@@ -77,16 +77,16 @@ The table below outlines the recommended hardware specifications for servers run
7777

7878
'/>
7979

80-
| Hardware Specification | Standalone Mode | Cluster Mode (Meta Node) | Cluster Mode (Query Node) |
80+
| 硬件规格 | 单机模式 | 集群模式(Meta 节点) | 集群模式(Query 节点) |
8181
| ---------------------- | ----------------- | ------------------------ | ------------------------- |
82-
| CPU | 16-cores or above | 4-cores or above | 16-cores or above |
83-
| Memory | 32 GB or above | 16 GB or above | 32 GB or above |
84-
| Data Disk (SSD) | 200-600 GB | 100-200 GB | 100-200 GB |
85-
| Network Interface Card | 10 Gbps or above | 10 Gbps or above | 10 Gbps or above |
82+
| CPU | 16 核及以上 | 4 核及以上 | 16 核及以上 |
83+
| 内存 | 32 GB 及以上 | 16 GB 及以上 | 32 GB 及以上 |
84+
| 数据盘(SSD| 200-600 GB | 100-200 GB | 100-200 GB |
85+
| 网卡 | 10 Gbps 及以上 | 10 Gbps 及以上 | 10 Gbps 及以上 |
8686

8787
### 支持的对象存储
8888

89-
Databend 支持私有化部署和云对象存储解决方案。在部署 Databend 之前,请准备好您自己的对象存储。以下是支持的对象存储解决方案的列表
89+
Databend 支持自托管和云对象存储解决方案。在部署 Databend 之前,请准备好您自己的对象存储。以下是支持的对象存储解决方案列表
9090

9191
- Amazon S3
9292
- Azure Blob Storage
@@ -106,4 +106,4 @@ cn=
106106
- 青云 QingStor
107107
- 华为 OBS
108108

109-
'/>
109+
'/>

0 commit comments

Comments
 (0)