Binding Cores on a Physical Machine

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

Original topic: 物理机绑核

| username: Raymond

Excuse me, teachers, I need to bind cores on a physical machine for performance testing. Are there any corresponding operation steps?

| username: caiyfc | Original post link

Column - How to Play with TiDB on a Single Machine with 8 NUMA Nodes - Exploring the Optimal Deployment Topology of TiDB Cluster on AMD EPYC Server | TiDB Community
Refer to this post as a reference.

| username: tidb狂热爱好者 | Original post link

Looking at the machine architecture, EPYC has 2 physical CPUs. You can deploy 2 sets of TiKV on it, one bound to core 0 and the other bound to core 1.

| username: tidb狂热爱好者 | Original post link

I’ll get you a copy of the core-binding YAML that I’m using. Our machines also have dual Intel CPUs.

| username: Raymond | Original post link

Sure, thank you. May I ask if it’s enough to specify which NUMA node each component should bind to in the TiDB deployment YAML file?

| username: tidb狂热爱好者 | Original post link

pd:
  replication.enable-placement-rules: true
  replication.location-labels: ["host"]

pd_servers:
  - host: 10.108.33.132
  - host: 10.108.33.133
  - host: 10.108.33.134

tidb_servers:
  - host: 10.108.33.130
  - host: 10.108.33.131
  - host: 10.108.33.138
  - host: 10.108.33.139
  - host: 10.108.33.140
  - host: 10.108.33.141

tikv_servers:
  - host: 10.108.33.1
    port: 20160
    status_port: 20180
    deploy_dir: "/data1/tidb-deploy/tikv-20160"
    data_dir: "/data1/tikv-20160"
    log_dir: "/data4/tidb-deploy/tikv-20160/log"
    numa_node: "0"
    config:
      server.labels: { host: "tikv1" }
  - host: 10.108.33.1
    port: 20161
    status_port: 20181
    deploy_dir: "/data2/tidb-deploy/tikv-20161"
    data_dir: "/data2/tikv-20161"
    log_dir: "/data4/tidb-deploy/tikv-20161/log"
    numa_node: "1"
    config:
      server.labels: { host: "tikv1" }
  - host: 10.108.33.2
    port: 20160
    status_port: 20180
    deploy_dir: "/data1/tidb-deploy/tikv-20160"
    data_dir: "/data1/tidb-data/tikv-20160"
    log_dir: "/data4/tidb-deploy/tikv-20160/log"
    numa_node: "0"
    config:
      server.labels: { host: "tikv2" }
| username: tidb狂热爱好者 | Original post link

pd needs to be configured
pd:
replication.enable-placement-rules: true
replication.location-labels: [“host”]
Then just write according to the rules
Very intelligent

| username: Raymond | Original post link

Thank you, brother. Much appreciated.

| username: Raymond | Original post link

Thank you, this article is very valuable.

| username: system | Original post link

This topic was automatically closed 1 minute after the last reply. No new replies are allowed.