docs-cn icon indicating copy to clipboard operation
docs-cn copied to clipboard

NUMA 架构下,是否还应限制单服务使用的内存

Open Icemap opened this issue 2 years ago • 2 comments

Error 报告

This repository is ONLY used to solve problems related to DOCS-CN. For other issues (TiDB, TiKV, etc), please move to other repositories.

Please answer the following questions before submitting your issue. Thanks!

  1. What is the document directory for the problem?
  • Github: https://github.com/pingcap/docs-cn/blob/master/benchmark/benchmark-tidb-using-sysbench.md
  • 文档站:https://docs.pingcap.com/zh/tidb/stable/benchmark-tidb-using-sysbench#%E5%9C%A8%E9%AB%98%E5%B9%B6%E5%8F%91%E5%8E%8B%E5%8A%9B%E4%B8%8Btikv-%E4%B9%9F%E6%9C%AA%E8%BE%BE%E5%88%B0-cpu-%E4%BD%BF%E7%94%A8%E7%93%B6%E9%A2%88%E4%B8%BA%E4%BB%80%E4%B9%88-tidb-%E7%9A%84-cpu-%E5%88%A9%E7%94%A8%E7%8E%87%E4%BE%9D%E7%84%B6%E5%BE%88%E4%BD%8E
  1. How would you like to improve it?

原文: image

此处提到了 NUMA 架构,但未限制单进程的内存用量,这有可能会导致跨 NUMA Node 访问内存。跨 NUMA Node 访问内存,会极大地降低性能(早期服务器 7 倍,后期 1.3 倍)。 仅限制了:

  • 进程数 = NUMA CPU 的个数 (其实此处是否应该使用 NUMA Node 数物理 CPU 数 替代 NUMA CPU 的个数 来消除歧义?)
  • 单个 NUMA Node 中 CPU 的核心数 = max-procs

那么在使用过程中,肯定会有部分 TiDB 申请额外的 NUMA Node 外的内存,因为进程并非绝对平分内存。应额外添加:

  • 单个 TiDB 进程可使用的内存上限 = 单个 NUMA Node 内的内存容量 (即:单路内存容量)

限制进程内存使用。

Icemap avatar Jul 13 '22 08:07 Icemap

@Icemap 谢谢反馈。@qqqdan 请帮忙确认下可以吗?

shichun-0415 avatar Jul 14 '22 04:07 shichun-0415

性能测试的相关内容我不太熟悉,请问 @dbsid 焕生老师这边有没有建议?

qqqdan avatar Jul 14 '22 08:07 qqqdan