WRT this other thread I opened
http://forums.mysql.com/read.php?25,574288,574288#msg-574288
I'd like to understand how to properly stres-test an NDB cluster and what to tweak to get the optimal performance from my hardware.
My need is to get a cluster able to do 300-500 writes per second (record size aprox 2K, probably a little less) and about 30K reads per second. Everything through the memcached interface (but if I can get better results, it's ok).
Now, as I said in the other threaed, I'm using Brutis to test the memcached instance(s) and I start tu push the write operations I get very quickly (half an hour or so) the NDB 410 error. Now, it's a 3-nodes test cluster, 24GB of RAM every node and SAS disks (no RAID, I'm using a plain disk now just to have an idea, cause I'm using some hardware I can spare right now), and when running the test IOPS are at 50-100 and *at most* I'm seeing 20MB/sec written on the disk. According to hdparm it can do ~110MB/sec in sequential reads, so 20MB/s shouldn't be a big deal, and in fact I/O wait is low.
So, why am I getting the 410 error?
Cluster conf.
MaxNoOfTables=256
MaxNoOfOrderedIndexes=256
MaxNoOfUniqueHashIndexes=128
MaxNoOfConcurrentOperations=1500000
MaxNoOfExecutionThreads=13
TimeBetweenLocalCheckpoints=20
NoOfFragmentLogFiles=8
DiskCheckpointSpeed=5M # MB/s
Now, I know I can increase NoOfFragmentLogFiles but I think that this will just give me more time before the 410 error, and if we're talking about sustained traffic, it's just pushing 5hrs further in time your problem. What can I do?
And as a bonus question :) where exactly are the REDO log files stored? I understand that they are in the ndb_$NODEID_fs directory, but what are their names?
http://forums.mysql.com/read.php?25,574288,574288#msg-574288
I'd like to understand how to properly stres-test an NDB cluster and what to tweak to get the optimal performance from my hardware.
My need is to get a cluster able to do 300-500 writes per second (record size aprox 2K, probably a little less) and about 30K reads per second. Everything through the memcached interface (but if I can get better results, it's ok).
Now, as I said in the other threaed, I'm using Brutis to test the memcached instance(s) and I start tu push the write operations I get very quickly (half an hour or so) the NDB 410 error. Now, it's a 3-nodes test cluster, 24GB of RAM every node and SAS disks (no RAID, I'm using a plain disk now just to have an idea, cause I'm using some hardware I can spare right now), and when running the test IOPS are at 50-100 and *at most* I'm seeing 20MB/sec written on the disk. According to hdparm it can do ~110MB/sec in sequential reads, so 20MB/s shouldn't be a big deal, and in fact I/O wait is low.
So, why am I getting the 410 error?
Cluster conf.
MaxNoOfTables=256
MaxNoOfOrderedIndexes=256
MaxNoOfUniqueHashIndexes=128
MaxNoOfConcurrentOperations=1500000
MaxNoOfExecutionThreads=13
TimeBetweenLocalCheckpoints=20
NoOfFragmentLogFiles=8
DiskCheckpointSpeed=5M # MB/s
Now, I know I can increase NoOfFragmentLogFiles but I think that this will just give me more time before the 410 error, and if we're talking about sustained traffic, it's just pushing 5hrs further in time your problem. What can I do?
And as a bonus question :) where exactly are the REDO log files stored? I understand that they are in the ndb_$NODEID_fs directory, but what are their names?