# TiDB Lightning 的使用-硬件需求

__*Lightning 使用*__
__*Lightning 硬件需求*__

+ 建议单独部署
+ 建议CPU、内存
  + Local-backend 模式下:32 核以上 CPU + 64 GB 以上内存
  + TiDB-backend 模式下:4 核以上 CPU + 8 GB 以上内存
+ 建议独占 IO 并采用闪存等高性能存储介质
+ 建议网络带宽大于等于 10 Gbps

-------------------------------------------------------------
操作系统:本文档示例使用的是若干新的、纯净版 CentOS 7 实例,你可以在本地虚拟化一台主机,或在供应商提供的平台上部署一台小型的云虚拟主机。TiDB Lightning 运行过程中,默认会占满 CPU,建议单独部署在一台主机上。如果条件不允许,你可以将 TiDB Lightning 和其他组件（比如tikv-server）部署在同一台机器上,然后设置region-concurrency 配置项的值为逻辑 CPU 数的 75%,以限制 TiDB Lightning 对 CPU 资源的使用。

内存和 CPU:
TiDB Lightning 在不同 backend 模式下对 CPU 和内存的要求不同,在部署时,建议根据使用的 backend 选择合适的环境以获取最佳导入性能。
Local-backend:该模式对 CPU 和内存的需求都比较高,建议为 TiDB Lightning 分配 32 核以上的 CPU 和 64 GiB 以上内存。

说明:
导入大量数据时,一个并发对内存的占用在 2 GiB 左右,也就是说总内存占用最大可达到 region-concurrency * 2 GiB。region-concurrency 默认与逻辑 CPU 的数量相同。如果内存的大小（GiB）小于逻辑 CPU 数量的两倍或运行时出现 OOM,需要手动调低 region-concurrency 参数以避免 TiDB Lightning OOM。
TiDB-backend:该模式的主要性能瓶颈是 TiDB,建议分配 4 核 CPU 和 8GB 内存。如果实际导入时,发现 TiDB 集群并没有达到写入的上限,可以适当调大 region-concurrency 配置参数。
Importer-backend:资源消耗基本与 Local-backend 相同。不建议使用。如无特殊需求,请优先使用 Local-backend。
存储空间:配置项 sorted-kv-dir 设置排序的键值对的临时存放地址,目标路径必须是一个空目录,目录空间须大于待导入数据集的大小。建议与 data-source-dir 使用不同的存储设备,独占 IO 会获得更好的导入性能,且建议优先考虑配置闪存等高性能存储介质。

网络:建议使用带宽 >=10Gbps 的网卡。