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

Poor performance with large number of connections (5 replies)

$
0
0
Dear NDB users,

I am evaluating NDB for use as a back-end for an asset control system. This requires a system that can handle a large number of simultaneous connections, all accessing the same data tables.

There are scenario's when all assets will try the database at the same time, so I am looking for a system that will continue to work with this load scenario.

To test, I have taken an out-the-box 'mysql-5.1.56 ndb-7.1.18' generic Linux distribution, and written a small 'c' program to update a database by spawning threads, each pretending to be a new asses, and effecting the same table in a database. (Specifically: completing 10 updates per second per simulated asset. Starting with 1 asses, adding another asset every second, and stopping when I hit the first error. Each update is within a separate and new connection on a separate thread.)

The result:

Below about 40 connections, performance is good. I get 100% updates from all threads without noticable latency.

However, above that and up to my limit of 1000 simultaneous connections, performance is not good. Something seems to go badly wrong, and I cannot get more than 40 updates/second gross. This is worse than using a CSV table engine, and literally hundreds of times worse than a MyIsam table.

This is a graph showing a comparison of all database engines using the same 'mysqld' engine:

https://docs.google.com/present/view?id=dd6tjhkh_38dmqcxkdw&interval=60

To me, this looks like something is wrong with the default out-the-box configuration.

May I ask users if they know anything to give NDB performance when used with large numbers of simultaneous connections?

Many thanks,

Ben Clewett.

Viewing all articles
Browse latest Browse all 1560

Trending Articles