From e706190017dda76219434eb2ea4b8597b95aa3f9 Mon Sep 17 00:00:00 2001 From: Zwb Date: Fri, 22 May 2020 10:37:07 +0800 Subject: [PATCH 1/2] cherry pick #3157 to release-2.1 Signed-off-by: ti-srebot --- TOC.md | 211 +++++++++++++++++++++++++++++++++++++++ tune-operating-system.md | 117 ++++++++++++++++++++++ 2 files changed, 328 insertions(+) create mode 100644 tune-operating-system.md diff --git a/TOC.md b/TOC.md index d460f15176a4..30781e0d9ab3 100644 --- a/TOC.md +++ b/TOC.md @@ -6,6 +6,7 @@ ## 目录 + 关于 TiDB +<<<<<<< HEAD - [TiDB 简介](/overview.md) + Benchmark 测试 - [如何用 Sysbench 测试 TiDB](/benchmark/benchmark-tidb-using-sysbench.md) @@ -69,6 +70,216 @@ - [集群配置诊断](/troubleshoot-tidb-cluster.md) - [TiDB Lightning 故障诊断](/troubleshoot-tidb-lightning.md) + 参考手册 +======= + + 基本信息 @段兵 + + [TiDB 简介](/overview.md) + + [开源信息说明](/licensing.md) + + [核心用户列表](/adopters.md) + + [核心特性](/key-features.md) @段兵 + + 数据类型 + + SQL 与功能 + + 安全性 + + 可靠性 + + 可用性 + + 性能数据 + + 配套工具 + + 企业版特性 + + 兼容性 @段兵 + + [与标准 SQL 的兼容性](/differences-from-standard-sql.md) + + [与 MySQL 的兼容性](/mysql-compatibility.md) + + [使用限制](/tidb-limitations.md) + + [使用场景](/use-cases.md) @段兵 + + [荣誉列表](/credits.md) @姚维 ++ 快速上手 + + [快速上手指南](/quick-start-with-tidb.md) @李坤 + + [SQL 基本操作](/basic-sql-operations.md) @庄培培 ++ 部署集群 + + [软硬件环境需求](/hardware-and-software-requirements.md) @李仲舒 + + [环境与系统配置检查](/check-before-deployment.md) @李仲舒 + + 配置拓扑结构 + + [最小部署拓扑结构](/minimal-deployment-topology.md) @李仲舒 + + [跨机房部署拓扑结构](/geo-distributed-deployment-topology.md) @李仲舒([参考](/location-awareness.md)) + + [混合部署拓扑结构](/hybrid-deployment-topology.md) @李仲舒 + + 安装与启动 + + Linux + + [使用 TiUP 部署](/production-deployment-using-tiup.md) @李仲舒 + + [使用 TiUP 离线部署](/production-deployment-using-tiup-offline.md) @刘金龙 + + [使用 Ansible 部署](/online-deployment-using-ansible.md) + + [使用 Ansible 离线部署](/offline-deployment-using-ansible.md) + + [使用 Docker 部署](/test-deployment-using-docker.md) + + Kubernetes + + AWS + + GCP + + Alibaba Cloud + + 监控与告警设置 + + [监控框架概述](/tidb-monitoring-framework.md) @李宋高 + + [监控 API](/tidb-monitoring-api.md) @李宋高 + + [测试验证](/post-installation-check.md) @李仲舒 + + 性能测试报告及重现指南 + + [如何用 Sysbench 测试 TiDB](/benchmark/benchmark-tidb-using-sysbench.md) @周跃跃 + + [如何对 TiDB 进行 TPC-C 测试](/benchmark/benchmark-tidb-using-tpcc.md) @梁启斌 + + [Sysbench 性能对比 - v3.0 对比 v2.1](/benchmark/v3.0-performance-benchmarking-with-sysbench.md) + + [TPC-C 性能对比 - v4.0 对比 v3.0](/benchmark/v4.0-performance-benchmarking-with-tpcc.md) + + [TPC-C 性能对比 - v3.0 对比 v2.1](/benchmark/v3.0-performance-benchmarking-with-tpcc.md) + + [线上负载与 ADD INDEX 相互影响测试](/benchmark/online-workloads-and-add-index-operations.md) ++ 数据迁移 + + [支持的迁移路径](/ecosystem-tool-user-guide.md) @王相 + + 从 MySQL 迁移至 TiDB + + [从 CSV 文件迁移](/migrate-from-mysql-csv-files.md) @栾成 + + [从 Mydumper 文件迁移](/migrate-from-mysql-mydumper-files.md) @栾成 + + [使用 DM 工具从 Amazon Aurora MySQL 迁移](/migrate-from-aurora-mysql-database.md) @张学成,王相 + + [从 CSV 文件迁移至 TiDB](/tidb-lightning/migrate-from-csv-using-tidb-lightning.md) @王相 ++ 运维操作 + + 升级 TiDB 版本 + + [使用 TiUP](/upgrade-tidb-using-tiup.md) @戚铮 + + [使用 TiDB Operator](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/upgrade-a-tidb-cluster/) + + [使用 TiDB Ansible](/upgrade-tidb-using-ansible.md) + + 扩缩容 + + [使用 TiUP](/scale-tidb-using-tiup.md) @刘金龙 + + [使用 TiDB Operator](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/scale-a-tidb-cluster/) + + 备份与恢复 + + [使用 Mydumper 和 TiDB Lightning](/backup-and-restore-using-mydumper-lightning.md) @栾成 + + 使用 BR 工具 + + [使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md) @栾成 + + [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) @栾成 + + [告警处理](/handle-alerts.md) @李宋高 + + [日常巡检](/daily-inspection.md) @王军 + + [TiCDC 任务管理](/ticdc/manage-ticdc.md) @沈泰宁 + + [TiUP 常用运维操作](/tiup/manage-tiup-component.md) @王贤净 + + [TiFlash 常用运维操作](/tiflash/maintain-tiflash.md) @雷宇 ++ 故障诊断 + + 硬件故障 @周强 + + [整机](/troubleshoot-machine-issues.md) + + [硬盘](/troubleshoot-disk-issues.md) + + [网络](/troubleshoot-network-issues.md) + + [内存](/troubleshoot-memory-issues.md)([相关参考](https://pingcap.com/docs-cn/stable/configure-memory-usage/)) + + 操作系统故障 @周强 + + [版本](/troubleshoot-operating-system-issues.md) + + [内核参数](/troubleshoot-kernel-parameter-issues.md) + + [定位慢查询](/identify-slow-queries.md) @张原嘉 + + [SQL 诊断](/system-tables/system-table-sql-diagnosis.md) @SQL Infra + + [定位消耗系统资源多的查询](/identify-expensive-queries.md) + + [SQL 语句统计](/statement-summary-tables.md) @SQL Infra + + [热点问题处理](/troubleshoot-hot-spot-issues.md) @郭大瑞 + + [CPU 占用过多导致读写延迟增加](/troubleshoot-cpu-issues.md) @高恺迪 + + [写冲突与写性能下降](/troubleshoot-write-conflicts.md) @沈刚 + + [磁盘 I/O 过高](/troubleshoot-high-disk-io.md) @陶政 + + [锁冲突与 TTL 超时](/troubleshoot-lock-conflicts.md) @高振娇 + + [执行计划不稳定导致性能波动](/troubleshoot-execution-plan.md) @姚珂男 + + [从性能监控分析问题](/performance-tuning-monitor.md) @李坤 + + [TiCDC 常见问题](/ticdc/troubleshoot-ticdc.md) @杨非 + + [TiFlash 常见问题](/tiflash/troubleshoot-tiflash.md) @孙若曦 ++ 性能调优 + + 系统调优 + + [硬件](/tune-hardware-performance.md) @张文博 + + [操作系统性能参数调优](/tune-operating-system.md) @张文博 + + 软件调优 + + [软件版本](/tune-software-version.md) @张文博 + + 配置 + + [TiKV 调优](/tune-tikv-performance.md) @刘玮 + + [TiFlash 调优](/tiflash/tune-tiflash-performance.md) + + SQL 性能调优 @崔一丁 + + [SQL 性能调优概览](/sql-tuning-overview.md) + + [理解 TiDB 执行计划](/query-execution-plan.md) + + SQL 优化 + + [SQL 优化流程简介](/sql-optimization-concepts.md) + + 逻辑优化 + + [逻辑优化概览](/sql-logical-optimization.md) + + [子查询相关的优化](/subquery-optimization.md) + + [列裁剪](/column-pruning.md) + + [关联子查询去关联](/correlated-subquery-optimization.md) + + [Max/Min 消除](/max-min-eliminate.md) + + [谓词下推](/predicate-push-down.md) + + [分区裁剪](/partition-pruning.md) + + [TopN 和 Limit 下推](/topn-limit-push-down.md) + + [Join Reorder](/join-reorder.md) + + 物理优化 + + [物理优化概览](/sql-physical-optimization.md) + + [索引的选择](/index-choose.md) + + [统计信息介绍](/statistics-intro.md) + + [错误索引的解决方案](/wrong-index-solution.md) + + [Distinct 优化](/agg-distinct-optimization.md) + + 控制执行计划 + + [控制执行计划概览](/control-execution-plan.md) + + [Optimizer Hints](/optimizer-hints.md) + + [执行计划绑定](/execution-plan-binding.md) + + [优化规则及表达式下推的黑名单](/blacklist-control-plan.md) + + [性能监控](/monitor-sql-performance.md) @崔一丁 ++ 教程 + + [同城多中心部署](/multi-data-centers-in-one-city-deployment.md)([参考](https://pingcap.com/docs-cn/stable/geo-redundancy-deployment/))@侯召墩 + + [两地三中心部署](/three-data-centers-in-two-cities-deployment.md) 侯召墩 + + 最佳实践 + + [TiDB 最佳实践](/tidb-best-practices.md)([参考相关博客](https://pingcap.com/blog-cn/tidb-best-practice/))@李坤 + + [Java 应用开发最佳实践](/best-practices/java-app-best-practices.md) @李坤 + + [HAProxy 最佳实践](/best-practices/haproxy-best-practices.md) @李坤 + + [高并发写入场景最佳实践](/best-practices/high-concurrency-best-practices.md) @李坤 + + [Grafana 监控最佳实践](/best-practices/grafana-monitor-best-practices.md) @李坤 + + [PD 调度策略最佳实践](/best-practices/pd-scheduling-best-practices.md) @李坤 + + [海量 Region 集群调优](/best-practices/massive-regions-best-practices.md) @李建俊 + + [Placement Rules 使用文档](/configure-placement-rules.md) @黄梦龙 ++ TiDB 生态工具 + + [工具使用指南](/ecosystem-tool-user-guide.md) + + [工具下载](/download-ecosystem-tools.md) + + Backup & Restore (BR) + + [使用 BR 进行备份和恢复](/br/backup-and-restore-tool.md) @余峻岑 + + [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) @余峻岑 + + TiDB Lightning @kenny + + [概述](/tidb-lightning/tidb-lightning-overview.md) + + [快速上手教程](/get-started-with-tidb-lightning.md) + + [部署执行](/tidb-lightning/deploy-tidb-lightning.md) + + [参数说明](/tidb-lightning/tidb-lightning-configuration.md) + + 主要功能 + + [断点续传](/tidb-lightning/tidb-lightning-checkpoints.md) + + [表库过滤](/tidb-lightning/tidb-lightning-table-filter.md) + + [CSV 支持](/tidb-lightning/migrate-from-csv-using-tidb-lightning.md) + + [TiDB-backend](/tidb-lightning/tidb-lightning-tidb-backend.md) + + [Web 界面](/tidb-lightning/tidb-lightning-web-interface.md) + + [监控告警](/tidb-lightning/monitor-tidb-lightning.md) + + [故障诊断](/troubleshoot-tidb-lightning.md) + + [FAQ](/tidb-lightning/tidb-lightning-faq.md) + + [术语表](/tidb-lightning/tidb-lightning-glossary.md) + + TiCDC + + [概述](/ticdc/ticdc-overview.md) + + [部署使用](/ticdc/deploy-ticdc.md) + + [集群和同步任务管理](/ticdc/manage-ticdc.md) + + [常见问题和故障处理](/ticdc/troubleshoot-ticdc.md) + + [Sink URI 配置规则](/ticdc/sink-url.md) + + [开放数据协议](/ticdc/ticdc-open-protocol.md) + + [Column 和 DDL 的类型码](/ticdc/column-ddl-type-codes.md) + + sync-diff-inspector @王相 + + [概述](/sync-diff-inspector/sync-diff-inspector-overview.md) + + [不同库名或表名的数据校验](/sync-diff-inspector/route-diff.md) + + [分库分表场景下的数据校验](/sync-diff-inspector/shard-diff.md) + + [TiDB 主从集群的数据校验](/sync-diff-inspector/upstream-downstream-diff.md) + + [Loader](/loader-overview.md) @王相 + + [Mydumper](/mydumper-overview.md) @余峻岑 + + [Syncer](/syncer-overview.md) @王相 ++ 参考指南 + + 架构 + + [概述](/tidb-architecture.md) @黄东旭 + + [存储](/tidb-storage.md) @冯立元 + + [计算](/tidb-computing.md) @黄东旭 + + [调度](/tidb-scheduling.md) @陈书宁 + + 监控指标 + + [Overview 面板](/grafana-overview-dashboard.md) @王聪 + + [TiDB 面板](/grafana-tidb-dashboard.md) @于帅鹏 + + [PD 面板](/grafana-pd-dashboard.md) @PD Team/陈书宁 + + [TiKV 面板](/grafana-tikv-dashboard.md) @刘新韬 + + [TiFlash 监控指标](/tiflash/monitor-tiflash.md) @孙若曦 + + 告警信息 + + [TiDB 集群报警规则与处理方法](/alert-rules.md) + + [TiFlash 报警规则与处理方法](/tiflash/tiflash-alert-rules.md) @孙若曦 + + 安全加固 + + [使用 TLS 加密连接](/encrypted-connections-with-tls-protocols.md) @苏立 + + [为 TiDB 组件间开启 TLS 和数据加密存储](/enable-tls-between-components.md) @苏立 + + [生成自签名证书](/generate-self-signed-certificates.md) @刘新韬 + + 权限 + + [与 MySQL 安全特性差异](/security-compatibility-with-mysql.md) @毛康力 + + [权限管理](/privilege-management.md) @毛康力 + + [TiDB 用户账户管理](/user-account-management.md) @毛康力 + + [基于角色的访问控制](/role-based-access-control.md) @宋翎宇 + + [TiDB 证书鉴权使用指南](/certificate-authentication.md) @苏立 +>>>>>>> 133a352... tuning: add tune-operating-system (#3157) + SQL - [与 MySQL 兼容性对比](/mysql-compatibility.md) + SQL 语言结构 diff --git a/tune-operating-system.md b/tune-operating-system.md new file mode 100644 index 000000000000..9f2e66303d51 --- /dev/null +++ b/tune-operating-system.md @@ -0,0 +1,117 @@ +--- +title: 操作系统性能参数调优 +category: reference +--- + +# 操作系统性能参数调优 + +本文档仅用于描述如何优化 Centos 7 的各个子系统。 + +> **注意:** +> +> 1. Centos 7 操作系统的默认配置适用于中等负载下运行的大多数服务。调整特定子系统的性能可能会对其他子系统产生负面影响。因此在调整系统之前,请备份所有用户数据和配置信息; +> 2. 请在测试环境下对所有修改做好充分测试后,再应用到生产环境中。 + +## 性能分析工具 + +系统调优需要根据系统性能分析的结果做指导,因此本文先列出常用的性能分析方法。 + +### 60s 分析法 + +此分析法由《性能之巅》的作者 Brendan Gregg 及其所在的 Netflix 性能工程团队公布,所用到的工具均可从发行版的官方源获取,通过分析以下清单中的输出,可定位大部分常见的性能问题。 + +1. uptime +2. dmesg | tail +3. vmstat 1 +4. mpstat -P ALL 1 +5. pidstat 1 +6. iostat -xz 1 +7. free -m +8. sar -n DEV 1 +9. sar -n TCP,ETCP 1 +10. top + +具体用法可查询相应 man 手册。 + +### perf + +Perf 是 Linux 内核提供的一个重要的性能分析工具,它涵盖硬件级别(CPU/PMU,性能监视单元)功能和软件功能(软件计数器,跟踪点)。详细用法请参考 [perf Examples](http://www.brendangregg.com/perf.html#Background)。 + +### BCC/bpftrace + +Centos 从 7.6 版本起,内核已实现对 bpf 的支持,因此可根据上述清单的结果,选取适当的工具进行深入分析。相比 perf/ftrace,bpf 提供了可编程能力,和更小的性能开销。相比 kprobe,bpf 提供了更高的安全性,更适合在生产环境上使用。关于 BCC 工具集的使用请参考 [BPF Compiler Collection (BCC)](https://github.com/iovisor/bcc/blob/master/README.md)。 + +## 性能调优 + +性能调优将根据内核子系统进行分类描述。 + +### 处理器——动态节能技术 + +cpufreq 是一个动态调整 CPU 频率的模块,可支持五种模式。为保证服务性能应选用 performance 模式,将 CPU 频率固定工作在其支持的最高运行频率上,不进行动态调节。命令为 `cpupower frequency-set --governor performance`。 + +### 处理器——中断亲和性 + +- 自动平衡:可通过 `irqbalance` 服务实现。 +- 手动平衡: + 1. 确定需要平衡中断的设备,从 Centos 7.5 开始,系统会自动为某些设备及其驱动程序配置最佳的中断关联性。不能再手动配置其亲和性。目前已知的有使用 `be2iscsi` 驱动的设备,以及 NVME 设置; + 2. 对于其他设备,可查询其芯片手册,是否支持分发中断,若不支持,则该设备的所有中断会路由到同一个 CPU 上,无法对其进行修改,若支持,则计算 `smp_affinity` 掩码并设置对应的配置文件,具体请参考[内核文档](https://www.kernel.org/doc/Documentation/IRQ-affinity.txt)。 + +### NUMA 绑核 + +为尽可能的避免跨 NUMA 访问内存,我们可以通过设置线程的 CPU 亲和性来实现。对于普通程序,可使用 numactl 命令来绑定,具体用法请查询 man 手册。对于网卡中断,请参考下文网络章节。 + +### 内存——透明大页 + +对于数据库应用,不推荐使用 THP,因为数据库往往具有稀疏而不是连续的内存访问模式,且当高阶内存碎片化比较严重时,分配 THP 页面会出现较大的延迟。伴随使能 THP 的直接内存规整功能,也会出现系统 CPU 使用率激增的现象,因此建议关闭。 + +``` sh +echo never > /sys/kernel/mm/transparent_hugepage/enabled +echo never > /sys/kernel/mm/transparent_hugepage/defrag +``` + +### 内存——虚拟内存参数 + +- `dirty_ratio` 百分比值。当脏的 page cache 总量达到系统内存总量的这一百分比后,系统将开始使用 pdflush 操作将脏的 page cache 写入磁盘。默认值为 20%,通常不需调整。对于高性能 SSD,比如 NVMe 设备来说,降低其值有利于提高内存回收时的效率。 +- `dirty_background_ratio` 百分比值。当脏的 page cache 总量达到系统内存总量的这一百分比后,系统开始在后台将脏的 page cache 写入磁盘。默认值为 10%,通常不需调整。对于高性能 SSD,比如 NVMe 设备来说,设置较低的值有利于提高内存回收时的效率。 + +### 存储及文件系统 + +内核 I/O 栈链路较长,包含了文件系统层、块设备层和驱动层。 + +#### I/O 调度器 + +I/O 调度程序确定 I/O 操作何时在存储设备上运行以及持续多长时间。也称为 I/O 升降机。对于 SSD 设备,宜设置为 noop。 + +```sh +echo noop > /sys/block/${SSD_DEV_NAME}/queue/scheduler +``` + +#### 格式化参数——块大小 + +块是文件系统的工作单元。块大小决定了单个块中可以存储多少数据,因此决定了一次写入或读取的最小数据量。 + +默认块大小适用于大多数使用情况。但是,如果块大小(或多个块的大小)与通常一次读取或写入的数据量相同或稍大,则文件系统将性能更好,数据存储效率更高。小文件仍将使用整个块。文件可以分布在多个块中,但这会增加运行时开销。 + +使用 mkfs 命令格式化设备时,将块大小指定为文件系统选项的一部分。指定块大小的参数随文件系统的不同而不同。有关详细信息,请查询对应文件系统的 mkfs 手册页,比如 `man mkfs.ext4`。 + +#### 挂载参数 + +`noatime` 读取文件时,将禁用对元数据的更新。它还启用了 nodiratime 行为,该行为会在读取目录时禁用对元数据的更新。 + +### 网络 + +网络子系统由具有敏感连接的许多不同部分组成。因此,Centos 7 网络子系统旨在为大多数工作负载提供最佳性能,并自动优化其性能。因此,通常无需手动调整网络性能。 + +网络问题通常由硬件或相关设施出现问题导致的,因此在调优协议栈前,请先排除硬件问题。 + +尽管网络堆栈在很大程度上是自我优化的,但是在网络数据包处理过程中有许多要点可能会成为瓶颈并降低性能: + +- 网卡硬件缓存:正确观察硬件层面的丢包方法是使用 `ethtool -S ${NIC_DEV_NAME}` 命令观察 drops 字段。当出现丢包现象时,主要考虑是硬/软中断的处理速度跟不上网卡接收速度。若接收缓存小于最大限制时,也可尝试增加 RX 缓存来防止丢包。查询命令为:`ethtool -g ${NIC_DEV_NAME}`,修改命令为 `ethtool -G ${NIC_DEV_NAME}`。 +- 硬中断:若网卡支持 Receive-Side Scaling(RSS 也称为多网卡接收)功能,则观察 /proc/interrrputs 网卡中断,如果出现了中断不均衡的情况,请参考处理器调优章节。若不支持 RSS 或 RSS 数量远小于物理 CPU 核数,则可配置 Receive Packet Steering(RPS,可以看作 RSS 的软件实现),及 RPS 的扩展 Receive Flow Steering (RFS)。具体设置请参考[内核文档](https://www.kernel.org/doc/Documentation/networking/scaling.txt)。 +- 软中断:观察 /proc/net/softnet\_stat 监控,如果除第三列的其他列的数值在增长,则应适度调大 net.core.netdev\_budget 或 net.core.dev\_weight 值,使 softirq 可以获得更多的 CPU 时间。除此之外,也需要检查 CPU 使用情况,确定哪些任务在频繁占用 CPU,能否优化。 +- 应用的套接字接收队列:监控 `ss -nmp` 的 `Recv-q` 列,若队列已满,则应考虑增大应用程序套接字的缓存大小或使用自动调整缓存的方式。除此之外,也要考虑能否优化应用层的架构,降低读取套接字的间隔。 +- 以太网流控:若网卡和交换机支持流控功能,可通过使能此功能,给内核一些时间来处理网卡队列中的数据,来规避网卡缓存溢出的问题。对于网卡测,可通过 `ethtool -a ${NIC_DEV_NAME}` 命令检查是否支持/使能,并通过 `ethtool -A ${NIC_DEV_NAME}` 命令开启。对于交换机,请查询其手册。 +- 中断合并:过于频繁的硬件中断会降低系统性能,而过晚的硬件中断会导致丢包。对于较新的网卡支持中断合并功能,并允许驱动自动调节硬件中断数。可通过 `ethtool -c ${NIC_DEV_NAME}` 命令检查,`ethtool -C ${NIC_DEV_NAME}` 命令开启。自适应模式使网卡可以自动调节中断合并。在自适应模式下,驱动程序将检查流量模式和内核接收模式,并实时评估合并设置,以防止数据包丢失。不同品牌的网卡具有不同的功能和默认配置,具体请参考网卡手册。 +- 适配器队列:在协议栈处理之前,内核利用此队列缓存网卡接收的数据,每个 CPU 都有各自的 backlog 队列。此队列可缓存的最大 packets 数量为 netdev\_max\_backlog。观察 /proc/net/softnet\_stat 第二列,当某行的第二列持续增加,则意味着 CPU [行-1] 队列已满,数据包被丢失,可通过持续加倍 net.core.netdev\_max\_backlog 值来解决。 +- 发送队列:发送队列长度值确定在发送之前可以排队的数据包数量。默认值是 1000,对于 10Gbps 足够。但若从 `ip -s link` 的输出中观察到 TX errors 值时,可尝试加倍:`ip link set dev ${NIC_DEV_NAME} txqueuelen 2000`。 +- 驱动:网卡驱动通常也会提供调优参数,请查询设备硬件手册及其驱动文档。 From d916c7e5cb1c0e2fcbd4dc727e8c7963fd956132 Mon Sep 17 00:00:00 2001 From: yikeke Date: Fri, 19 Jun 2020 14:48:00 +0800 Subject: [PATCH 2/2] Update TOC.md --- TOC.md | 212 +-------------------------------------------------------- 1 file changed, 1 insertion(+), 211 deletions(-) diff --git a/TOC.md b/TOC.md index 30781e0d9ab3..0ac08addf6c3 100644 --- a/TOC.md +++ b/TOC.md @@ -6,7 +6,6 @@ ## 目录 + 关于 TiDB -<<<<<<< HEAD - [TiDB 简介](/overview.md) + Benchmark 测试 - [如何用 Sysbench 测试 TiDB](/benchmark/benchmark-tidb-using-sysbench.md) @@ -70,216 +69,6 @@ - [集群配置诊断](/troubleshoot-tidb-cluster.md) - [TiDB Lightning 故障诊断](/troubleshoot-tidb-lightning.md) + 参考手册 -======= - + 基本信息 @段兵 - + [TiDB 简介](/overview.md) - + [开源信息说明](/licensing.md) - + [核心用户列表](/adopters.md) - + [核心特性](/key-features.md) @段兵 - + 数据类型 - + SQL 与功能 - + 安全性 - + 可靠性 - + 可用性 - + 性能数据 - + 配套工具 - + 企业版特性 - + 兼容性 @段兵 - + [与标准 SQL 的兼容性](/differences-from-standard-sql.md) - + [与 MySQL 的兼容性](/mysql-compatibility.md) - + [使用限制](/tidb-limitations.md) - + [使用场景](/use-cases.md) @段兵 - + [荣誉列表](/credits.md) @姚维 -+ 快速上手 - + [快速上手指南](/quick-start-with-tidb.md) @李坤 - + [SQL 基本操作](/basic-sql-operations.md) @庄培培 -+ 部署集群 - + [软硬件环境需求](/hardware-and-software-requirements.md) @李仲舒 - + [环境与系统配置检查](/check-before-deployment.md) @李仲舒 - + 配置拓扑结构 - + [最小部署拓扑结构](/minimal-deployment-topology.md) @李仲舒 - + [跨机房部署拓扑结构](/geo-distributed-deployment-topology.md) @李仲舒([参考](/location-awareness.md)) - + [混合部署拓扑结构](/hybrid-deployment-topology.md) @李仲舒 - + 安装与启动 - + Linux - + [使用 TiUP 部署](/production-deployment-using-tiup.md) @李仲舒 - + [使用 TiUP 离线部署](/production-deployment-using-tiup-offline.md) @刘金龙 - + [使用 Ansible 部署](/online-deployment-using-ansible.md) - + [使用 Ansible 离线部署](/offline-deployment-using-ansible.md) - + [使用 Docker 部署](/test-deployment-using-docker.md) - + Kubernetes - + AWS - + GCP - + Alibaba Cloud - + 监控与告警设置 - + [监控框架概述](/tidb-monitoring-framework.md) @李宋高 - + [监控 API](/tidb-monitoring-api.md) @李宋高 - + [测试验证](/post-installation-check.md) @李仲舒 - + 性能测试报告及重现指南 - + [如何用 Sysbench 测试 TiDB](/benchmark/benchmark-tidb-using-sysbench.md) @周跃跃 - + [如何对 TiDB 进行 TPC-C 测试](/benchmark/benchmark-tidb-using-tpcc.md) @梁启斌 - + [Sysbench 性能对比 - v3.0 对比 v2.1](/benchmark/v3.0-performance-benchmarking-with-sysbench.md) - + [TPC-C 性能对比 - v4.0 对比 v3.0](/benchmark/v4.0-performance-benchmarking-with-tpcc.md) - + [TPC-C 性能对比 - v3.0 对比 v2.1](/benchmark/v3.0-performance-benchmarking-with-tpcc.md) - + [线上负载与 ADD INDEX 相互影响测试](/benchmark/online-workloads-and-add-index-operations.md) -+ 数据迁移 - + [支持的迁移路径](/ecosystem-tool-user-guide.md) @王相 - + 从 MySQL 迁移至 TiDB - + [从 CSV 文件迁移](/migrate-from-mysql-csv-files.md) @栾成 - + [从 Mydumper 文件迁移](/migrate-from-mysql-mydumper-files.md) @栾成 - + [使用 DM 工具从 Amazon Aurora MySQL 迁移](/migrate-from-aurora-mysql-database.md) @张学成,王相 - + [从 CSV 文件迁移至 TiDB](/tidb-lightning/migrate-from-csv-using-tidb-lightning.md) @王相 -+ 运维操作 - + 升级 TiDB 版本 - + [使用 TiUP](/upgrade-tidb-using-tiup.md) @戚铮 - + [使用 TiDB Operator](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/upgrade-a-tidb-cluster/) - + [使用 TiDB Ansible](/upgrade-tidb-using-ansible.md) - + 扩缩容 - + [使用 TiUP](/scale-tidb-using-tiup.md) @刘金龙 - + [使用 TiDB Operator](https://pingcap.com/docs-cn/tidb-in-kubernetes/stable/scale-a-tidb-cluster/) - + 备份与恢复 - + [使用 Mydumper 和 TiDB Lightning](/backup-and-restore-using-mydumper-lightning.md) @栾成 - + 使用 BR 工具 - + [使用 BR 进行备份与恢复](/br/backup-and-restore-tool.md) @栾成 - + [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) @栾成 - + [告警处理](/handle-alerts.md) @李宋高 - + [日常巡检](/daily-inspection.md) @王军 - + [TiCDC 任务管理](/ticdc/manage-ticdc.md) @沈泰宁 - + [TiUP 常用运维操作](/tiup/manage-tiup-component.md) @王贤净 - + [TiFlash 常用运维操作](/tiflash/maintain-tiflash.md) @雷宇 -+ 故障诊断 - + 硬件故障 @周强 - + [整机](/troubleshoot-machine-issues.md) - + [硬盘](/troubleshoot-disk-issues.md) - + [网络](/troubleshoot-network-issues.md) - + [内存](/troubleshoot-memory-issues.md)([相关参考](https://pingcap.com/docs-cn/stable/configure-memory-usage/)) - + 操作系统故障 @周强 - + [版本](/troubleshoot-operating-system-issues.md) - + [内核参数](/troubleshoot-kernel-parameter-issues.md) - + [定位慢查询](/identify-slow-queries.md) @张原嘉 - + [SQL 诊断](/system-tables/system-table-sql-diagnosis.md) @SQL Infra - + [定位消耗系统资源多的查询](/identify-expensive-queries.md) - + [SQL 语句统计](/statement-summary-tables.md) @SQL Infra - + [热点问题处理](/troubleshoot-hot-spot-issues.md) @郭大瑞 - + [CPU 占用过多导致读写延迟增加](/troubleshoot-cpu-issues.md) @高恺迪 - + [写冲突与写性能下降](/troubleshoot-write-conflicts.md) @沈刚 - + [磁盘 I/O 过高](/troubleshoot-high-disk-io.md) @陶政 - + [锁冲突与 TTL 超时](/troubleshoot-lock-conflicts.md) @高振娇 - + [执行计划不稳定导致性能波动](/troubleshoot-execution-plan.md) @姚珂男 - + [从性能监控分析问题](/performance-tuning-monitor.md) @李坤 - + [TiCDC 常见问题](/ticdc/troubleshoot-ticdc.md) @杨非 - + [TiFlash 常见问题](/tiflash/troubleshoot-tiflash.md) @孙若曦 -+ 性能调优 - + 系统调优 - + [硬件](/tune-hardware-performance.md) @张文博 - + [操作系统性能参数调优](/tune-operating-system.md) @张文博 - + 软件调优 - + [软件版本](/tune-software-version.md) @张文博 - + 配置 - + [TiKV 调优](/tune-tikv-performance.md) @刘玮 - + [TiFlash 调优](/tiflash/tune-tiflash-performance.md) - + SQL 性能调优 @崔一丁 - + [SQL 性能调优概览](/sql-tuning-overview.md) - + [理解 TiDB 执行计划](/query-execution-plan.md) - + SQL 优化 - + [SQL 优化流程简介](/sql-optimization-concepts.md) - + 逻辑优化 - + [逻辑优化概览](/sql-logical-optimization.md) - + [子查询相关的优化](/subquery-optimization.md) - + [列裁剪](/column-pruning.md) - + [关联子查询去关联](/correlated-subquery-optimization.md) - + [Max/Min 消除](/max-min-eliminate.md) - + [谓词下推](/predicate-push-down.md) - + [分区裁剪](/partition-pruning.md) - + [TopN 和 Limit 下推](/topn-limit-push-down.md) - + [Join Reorder](/join-reorder.md) - + 物理优化 - + [物理优化概览](/sql-physical-optimization.md) - + [索引的选择](/index-choose.md) - + [统计信息介绍](/statistics-intro.md) - + [错误索引的解决方案](/wrong-index-solution.md) - + [Distinct 优化](/agg-distinct-optimization.md) - + 控制执行计划 - + [控制执行计划概览](/control-execution-plan.md) - + [Optimizer Hints](/optimizer-hints.md) - + [执行计划绑定](/execution-plan-binding.md) - + [优化规则及表达式下推的黑名单](/blacklist-control-plan.md) - + [性能监控](/monitor-sql-performance.md) @崔一丁 -+ 教程 - + [同城多中心部署](/multi-data-centers-in-one-city-deployment.md)([参考](https://pingcap.com/docs-cn/stable/geo-redundancy-deployment/))@侯召墩 - + [两地三中心部署](/three-data-centers-in-two-cities-deployment.md) 侯召墩 - + 最佳实践 - + [TiDB 最佳实践](/tidb-best-practices.md)([参考相关博客](https://pingcap.com/blog-cn/tidb-best-practice/))@李坤 - + [Java 应用开发最佳实践](/best-practices/java-app-best-practices.md) @李坤 - + [HAProxy 最佳实践](/best-practices/haproxy-best-practices.md) @李坤 - + [高并发写入场景最佳实践](/best-practices/high-concurrency-best-practices.md) @李坤 - + [Grafana 监控最佳实践](/best-practices/grafana-monitor-best-practices.md) @李坤 - + [PD 调度策略最佳实践](/best-practices/pd-scheduling-best-practices.md) @李坤 - + [海量 Region 集群调优](/best-practices/massive-regions-best-practices.md) @李建俊 - + [Placement Rules 使用文档](/configure-placement-rules.md) @黄梦龙 -+ TiDB 生态工具 - + [工具使用指南](/ecosystem-tool-user-guide.md) - + [工具下载](/download-ecosystem-tools.md) - + Backup & Restore (BR) - + [使用 BR 进行备份和恢复](/br/backup-and-restore-tool.md) @余峻岑 - + [BR 备份与恢复场景示例](/br/backup-and-restore-use-cases.md) @余峻岑 - + TiDB Lightning @kenny - + [概述](/tidb-lightning/tidb-lightning-overview.md) - + [快速上手教程](/get-started-with-tidb-lightning.md) - + [部署执行](/tidb-lightning/deploy-tidb-lightning.md) - + [参数说明](/tidb-lightning/tidb-lightning-configuration.md) - + 主要功能 - + [断点续传](/tidb-lightning/tidb-lightning-checkpoints.md) - + [表库过滤](/tidb-lightning/tidb-lightning-table-filter.md) - + [CSV 支持](/tidb-lightning/migrate-from-csv-using-tidb-lightning.md) - + [TiDB-backend](/tidb-lightning/tidb-lightning-tidb-backend.md) - + [Web 界面](/tidb-lightning/tidb-lightning-web-interface.md) - + [监控告警](/tidb-lightning/monitor-tidb-lightning.md) - + [故障诊断](/troubleshoot-tidb-lightning.md) - + [FAQ](/tidb-lightning/tidb-lightning-faq.md) - + [术语表](/tidb-lightning/tidb-lightning-glossary.md) - + TiCDC - + [概述](/ticdc/ticdc-overview.md) - + [部署使用](/ticdc/deploy-ticdc.md) - + [集群和同步任务管理](/ticdc/manage-ticdc.md) - + [常见问题和故障处理](/ticdc/troubleshoot-ticdc.md) - + [Sink URI 配置规则](/ticdc/sink-url.md) - + [开放数据协议](/ticdc/ticdc-open-protocol.md) - + [Column 和 DDL 的类型码](/ticdc/column-ddl-type-codes.md) - + sync-diff-inspector @王相 - + [概述](/sync-diff-inspector/sync-diff-inspector-overview.md) - + [不同库名或表名的数据校验](/sync-diff-inspector/route-diff.md) - + [分库分表场景下的数据校验](/sync-diff-inspector/shard-diff.md) - + [TiDB 主从集群的数据校验](/sync-diff-inspector/upstream-downstream-diff.md) - + [Loader](/loader-overview.md) @王相 - + [Mydumper](/mydumper-overview.md) @余峻岑 - + [Syncer](/syncer-overview.md) @王相 -+ 参考指南 - + 架构 - + [概述](/tidb-architecture.md) @黄东旭 - + [存储](/tidb-storage.md) @冯立元 - + [计算](/tidb-computing.md) @黄东旭 - + [调度](/tidb-scheduling.md) @陈书宁 - + 监控指标 - + [Overview 面板](/grafana-overview-dashboard.md) @王聪 - + [TiDB 面板](/grafana-tidb-dashboard.md) @于帅鹏 - + [PD 面板](/grafana-pd-dashboard.md) @PD Team/陈书宁 - + [TiKV 面板](/grafana-tikv-dashboard.md) @刘新韬 - + [TiFlash 监控指标](/tiflash/monitor-tiflash.md) @孙若曦 - + 告警信息 - + [TiDB 集群报警规则与处理方法](/alert-rules.md) - + [TiFlash 报警规则与处理方法](/tiflash/tiflash-alert-rules.md) @孙若曦 - + 安全加固 - + [使用 TLS 加密连接](/encrypted-connections-with-tls-protocols.md) @苏立 - + [为 TiDB 组件间开启 TLS 和数据加密存储](/enable-tls-between-components.md) @苏立 - + [生成自签名证书](/generate-self-signed-certificates.md) @刘新韬 - + 权限 - + [与 MySQL 安全特性差异](/security-compatibility-with-mysql.md) @毛康力 - + [权限管理](/privilege-management.md) @毛康力 - + [TiDB 用户账户管理](/user-account-management.md) @毛康力 - + [基于角色的访问控制](/role-based-access-control.md) @宋翎宇 - + [TiDB 证书鉴权使用指南](/certificate-authentication.md) @苏立 ->>>>>>> 133a352... tuning: add tune-operating-system (#3157) + SQL - [与 MySQL 兼容性对比](/mysql-compatibility.md) + SQL 语言结构 @@ -443,6 +232,7 @@ - [支持的连接器和 API](/connectors-and-apis.md) - [垃圾回收 (GC)](/garbage-collection.md) + 性能调优 + - [操作系统性能参数调优](/tune-operating-system.md) - [SQL 优化流程](/sql-optimization-concepts.md) - [理解 TiDB 执行计划](/query-execution-plan.md) - [统计信息概述](/statistics.md)