Cluster performance regarding ndb-cluster-connection-pool
Hello,
I am running a cluster v7.4.8 with 2 data nodes, 2 SQL nodes, and 1 mgmt node.
The cluster is configured with ndb-cluster-connection-pool=1
A simple "select" query execution takes 0.08 sec:
select * from users where name = 'jdoe' and partition_key = 'part1';
The query returns 1 row (the column "name" is indexed).
The average execution time of the same query run concurrently by 10 clients (mysqlslap --concurrency=10 --iterations=100) is 0.8 sec, which is 10 times slower than a single client.
So far this seems coherent; since ndb-cluster-connection-pool=1, the 10 concurrent clients are competing for the single NDB API connection, and things are 10 times slower.
However, when ndb-cluster-connection-pool=4 (or 2), the test results remain unchanged; when 10 clients are running concurrently, the average "select" query execution time is still 0.8 sec.
So why are the "select" performance not improved when ndb-cluster-connection-pool is increased?
Is it because the contention point resides in fact in the data node? I would have expected at least a slight enhancement of the performance with a connection pool, but that's not the case.
I tried to use the multi-threaded "ndbmtd" instead of "ndbd", with MaxNoOfExecutionThreads=2, but to no avail; the performance are not improved.
Note 1: the cluster pool configuration is correct: "netstat" shows the additional TCP connections between mysqld and ndbd, and "ndb_mgm -e show" displays the additional SQL nodes as expected.
Note 2: if 50 concurrent clients are running, the query execution is 50 times slower; the execution time is strictly linear regarding the number of clients.
Thank you in advance for your suggestions,
Pierre Sion
Subject
Views
Written By
Posted
Cluster performance regarding ndb-cluster-connection-pool
1762
January 05, 2016 12:17PM
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.