This is to follow up my previous post with kernel_mutex problem.
First, I may have an explanation why the performance degrades to
significantly and why innodb_sync_spin_loops may
fix it.
Second, if that is correct ( or not, but we can try anyway), than
playing with innodb_thread_concurrency also may
help. So I ran some benchmarks with
innodb_thread_concurrency.
My explanation on the performance degradation is following:
InnoDB still uses some strange mutex implementation, based on
sync_arrays (hello 1990ies), I do not have a good reason why it
is not yet replaced.
Sync_array internally uses pthread_cond_wait /
pthread_cond_broadcast construction, and on
pthread_cond_broadcast call, all threads, competing on mutex,
wake up and start …