Quantcast
Channel: MySQL Forums - NDB clusters
Viewing all articles
Browse latest Browse all 1562

Cluster performance regarding ndb-cluster-connection-pool (no replies)

$
0
0
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

Viewing all articles
Browse latest Browse all 1562

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>