innodb_thread_concurrency / cpu usage


we have a 4-way dualcore xeon server running mysql 5.0.27 with bufferpool-mutex-patch.

the load is entirely cpu/memory bound, no noticable disk activity.

If i set innodb_thread_concurrency to 16 or 32 and simulate a lot of load, i see that the system is overloaded but cpu usage is only at 20%.
If i set it to unlimited (0), i see cpu is going to 100%, but actually less queries are performed per second.

If i use SHOW MUTEX STATUS, the only mutex heavily used is the main bufferpool mutex, so I guess the concurrency problem is not entirely solved by the patch?

perhaps problem still in buffer pool.

Can you try 5.0-bk ? e.html


Can you report how much scalability do you get, ie if you can simulate your workload with 1 thread, 4 threads, 16 threads.

The interesting thing about current official patch is - it scales differently on different platforms and different workloads. For older Xeons it scales quite badly still. New (Woodcrest) Xeons are much better but still it can be far from perfect scalability depending on workload.

I have not had a chance to check on Opteron yet.

The problem is that we only have one 4-way server yet, and i cant take that one offline for a long time (

I will try the 5.0-bk version tomorrow, and tell you if it helped :wink:

A diff from 5.0-bk to 5.0.27 shows up a new mutex in buf0buf.h, so i’m quite optimistic.