Re: mysqld + cluster 7.4.9: geting the maximum out of a single MySQL Server (API) node
Hi,
Stefan Auweiler Wrote:
-------------------------------------------------------
> Experts,
>
> I'm asking your experties aout configuring mysql
> Server API node for havy connection and query
> rates.
>
> I have a cluster with 16 Data nodes,
> each has 2 CPU Socket
> 18 CPU cores
> and Hyperthraeding activated
>
Sounds like a nice cluster :)
> So it adds up to 72 threads, where I've applied
> this threadconfig:
>
> ThreadConfig=ldm={count=24,cpubind=2-13,20-31,spin
> time=100},main={cpubind=37},io={cpubind=37},rep={c
> pubind=55},tc={count=8,cpubind=14,15,32,33,50,51,6
> 8,69,realtime=1},recv={count=4,cpubind=32,33,70,71
> },send={count=4,cpubind=16,17,52,53}
> and
> NoOfFragmentLogParts=24
>
Configuration looks quite ok, but not sure why you share
CPUs 32 and 33 for both tc and recv.
> I think, we are pretty fine here for our load.
>
yep
>
>
> What we are trying to figure is, how to set up the
> MYSQL Server API nodes:
>
ok
> We have about 15000 clients/processes, connecting
> from other servers within our system, which gives
> us at leas two boundaries:
> a) the reasonable maximum connection, a single
> mysqld could posibly handle (We know, that we have
> about 15% of our current connections to a
> particular MYSQLd aver working, 85% are idle....)
> b) a maximum number of 255 nodes within a NDB
> cluster
>
>
> I have 8 of the above described systems,
> exclusively assigned to be th MYSQL Server API
> nodes.
> I'm running Solaris 11.3 and we are using CPU Sets
> and we are organizing the IRQ handling.
>
> Which configuration would make the best use of
> each of the 8 boxes?
>
> 1. having one (1) MYSQLd with max_connections=4000
> and 16 or even more connections to the cluster
> (ndb-cluster-connection-pool=16)
What I see in my testing with sysbench is that 1 MySQL
server scales to about 50 CPUs at least in 7.4 using
about 4-8 cluster connections. Haven't seen much gain
going beyond 8 cluster connections for 1 MySQL Server.
> 2. having several MYSQLd on different ports having
> less max_connections and less connections to the
> cluster (e.g. 4 mysqld, having max_connection=1000
> and ndb-cluster-connection-pool=4 connections
> each)
>
Would probably opt for 2 MySQL Servers per node and
let each take care of one socket. MySQL Servers
slows down a bit when threads moves between CPU
sockets.
Good luck, sounds like a fun cluster to work with.
Rgrds Mikael Ronström
> Thanks for your ideas.
>
> Stefan