MySQL Forums
Forum List  »  NDB clusters

ndbmtd not using all CPUs
Posted by: Kevin Chan
Date: March 05, 2016 06:00PM

I've recently migrated to Mysql Cluster, and I'm confused regarding the behavior of ndbmtd.

According to my understanding of the documentation, setting MaxNoOfExecutionThreads=numberOfCPUthreadsAvailable on cluster's config.ini, and running ndbmtd instead of ndbd would utilize the full power of a machine. However, this is what I am experiencing on two equal quad core servers:

1) Before Mysql Cluster, my server ran a typical mysql-server mysqld process. In times of user spike or long queries, monitoring CPU usage with 'TOP' would often show the mysqld process using 300% or more of CPUs.
2) Then, with the Cluster migration, MaxNoOfExecutionThreads set to 4 and 2 nodes in the pool, the ndbmtd process would not use more than 100%. Notice that during this time, only 1 node was active as I had not ran "ALTER ONLINE TABLE table REORGANIZE PARTITION" yet.
3) After I reorganized the partitions and node 2 was active, now both the first server and the second one started reaching up 200% CPU usage with ndbmtd, but no more than that, which is very confusing.

Is this the intended behavior?
I don't understand why CPU usage does not go over 200% now, when the previous mysqld process would often reach 350%. With mysql cluster, half of the cpus are sitting idle on each server, and some queries are failing to execute due to lack of processing power.

Cluster version is "MySQL Cluster 7.4.10", and the OS for both servers is Centos 6.7

Thank you.

Options: ReplyQuote

Written By
ndbmtd not using all CPUs
March 05, 2016 06:00PM
March 06, 2016 12:07AM
April 14, 2016 05:27PM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.