Hello,
I confirmed my host machine has only TWO NUMA availability through numactl command.
However, I am curious about the impact if I create more nodes then two.
I already tried to create 4 nodes per host and it worked much faster regarding data ingestion and transaction processing.
Please refer to the server specification below.
4 hosts (28 CPUs, 192GB Mem, 1TB Disk) > 1 host(1MA, 3CA), 3 hosts(12 Leaves)
Regards,
On a machine with NUMA, we generally recommend having the same number of MemSQL leaf nodes as NUMA nodes (and only having leaf nodes). Then, running memsql-admin optimize
or memsqlctl optimize
will configure NUMA bindings for each of the MemSQL nodes, ensuring uniform memory access for each MemSQL process.
With more MemSQL nodes than NUMA nodes, the tools will not be able to configure NUMA bindings. As for the performance increase, you may be experiencing this because your workload is not bound by communication between CPU and memory. For example, another effect of having more MemSQL leaves is having more data partitions, which can also impact query performance.
Can you provide more information about your workload?
Hi, jkaplan.
Thank you for the comprehensive help.
I was able to understand how to configure NUMA optimization properly.
In our workload, I checked the data loading was much faster but the querying was getting slower as increasing the thread.
Through that result, I caught the mechanism of NUMA optimization.
Really thanks.