On Fri, 2004-08-13 at 15:07, Wheeler, Alex wrote:
> I have a 4 node, 4 computer setup, 2 of the nodes having an API, each
> computer having 1GB RAM, and using GigE.
>
> Here's my create table statement:
>
> CREATE TABLE `http_auth` (
>
> `username` char(8) NOT NULL default '',
>
> `uid` int(11) NOT NULL default '0',
>
> PRIMARY KEY (`username`)
>
> ) ENGINE=ndbcluster
>
>
>
> Running the following 'gen-data' command:
>
> gen-data -n 500000 -f "INSERT INTO http_auth VALUES (' %8-8s',%n),...,
> (' %8-8s',%n);"
>
> (where the ... represents 18 more value pairs, for a total of 20
> pairs.)
>
> piped through 'mysql', I get about 11,000 inserts/second, for a total of
> 10,000,000 rows.
>
>
>
> If I run the same test with 2 clients on 1 mysqld instance, dividing the
> number of inserts for each client by 2, I get an average of 14,000.
I guess this machine is running close to 100%?
>
> If I run the same test, but with 2 instances of mysqld, running on 2
> different computers, I get about 22,000. Effectively double what I got
> with 1 client.
>
This looks nice. Have you tried varying the number of value pairs in the
INSERT statement? I would suggest trying as much as 1024 value in each
statement and see if that will improve performance(if this is relevant
to your application of course).
>
>
> Can I safely presume that by using 3 instances, I'd get around 33,000,
> and with 4 around 44,000 given that the average CPU load for 1 client is
> about 20% utilization, and with 2 clients about 40% utilization?
The architecture of MySQL Cluster should give linear scalabilty, but of
course some time you will reach the limit of what the DB nodes or HW can
achieve.
>
>
>
> Is this how the cluster is supposed to work, or is this what the
> mysqld-to-ndb optimizations would address?
>
>
>
>
>
> --
>
> Alex Wheeler
>
Best regards
Magnus
--
Magnus Svensson, Software Engineer
MySQL AB, www.mysql.com
Office: +46 709 164 491