Issues Regarding Local Cluster Deployment Scale and NUMA Binding

Note:
This topic has been translated from a Chinese forum by GPT and might contain errors.

Original topic: 关于本地集群部署规模及numa绑定的问题

| username: Leox

Hello everyone!
I want to deploy a local cluster on an ARM server with specifications of 4 NUMA nodes * 40 cores for a simple TPCC performance test. I have a few questions to ask.

  1. What kind of topology structure should I deploy? I see that the minimum cluster size in the documentation is 3 PD, 3 TiDB, and 3 TiKV. I wonder if this might be a bit too large for a single server.

  2. In the configuration file, can CPU binding be done by CPU core instead of by NUMA node? This way, work can be allocated more precisely to the CPU cores within the node, avoiding performance loss.

1673689639808

| username: tidb菜鸟一只 | Original post link

If you use only one machine for performance testing, the results won’t be very good. If you must test this way, I suggest using 1 PD, 1 TiDB, and 3 TiKV. Bind TiDB and TiKV each to a NUMA node, as currently only NUMA nodes are supported.

| username: caiyfc | Original post link

I suggest you take a look at this article: 专栏 - 单机 8 个 NUMA node 如何玩转 TiDB - AMD EPYC 服务器上的 TiDB 集群最优部署拓扑探索 | TiDB 社区
As for the deployment nodes, the suggestions mentioned above are fine.

| username: Leox | Original post link

Got it, thanks!

| username: Leox | Original post link

Got it, thank you!

| username: Leox | Original post link

Hello! If you want to properly test performance, what kind of configuration is suitable?

| username: tidb菜鸟一只 | Original post link

This is the minimum requirement from the official test. If you want to test TiKV, you need to consider the IO capability. It is best to use different hosts or different storage; otherwise, the performance will definitely not meet the official standards.

| username: Leox | Original post link

Understood, actually my main goal is to test the server’s performance, but I can’t apply for so many servers at the moment… By the way, are TiFlash and TiCDC also necessary in performance testing?

| username: tidb菜鸟一只 | Original post link

It is not necessary. If you need to handle a large amount of data analytics, you can use TiFlash. If you need data synchronization, you can use TiCDC. If it’s just OLTP requests, you only need PD, TiDB, and TiKV.

| username: Leox | Original post link

Got it, thanks!

| username: system | Original post link

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.