June 19, 2013

Post: SHOW INNODB STATUS walk through

… how actively innodb uses internal sync array – how frequently slots are allocated in it and how frequently threads are signaled using sync array… spin rounds per second to start really worry for most CPUs. innodb_sync_spin_loops can be used to ballance between wasting CPU time running spin

Comment: kernel_mutex problem. Or double throughput with single variable

Baron, I believe I know the reason why innodb_sync_spin_loops helps there. The problem is old, and by some reason … innodb_sync_spin_loops allows to delay entering into using condition variables, and allows to resolve mutex only via spin_loop. In this case using innodb_thread…

Post: How Innodb Contention may manifest itself

Innodb is not spinning too much, thus you can consider increasing innodb_sync_spin_loops to a higher number. It is worth to note fine tuning Innodb Contention with number of spin locks loops is something…

Post: Ultimate MySQL variable and status reference list

innodb_spin_wait_delayblogpercona.commanual innodb_stats_on_metadatablogpercona.commanual innodb_stats_sample_pagesblogpercona.commanual innodb_status_fileblogpercona.commanual innodb_strict_modeblogpercona.commanual innodb_support_xablogpercona.commanual innodb_sync_spin_loopsblogpercona.commanual innodb_table_locksblogpercona.commanual innodb_thread_concurrencyblogpercona.commanual innodb_thread…

Comment: SHOW INNODB STATUS walk through

“…innodb_sync_spin_loops can be used to ballance between wasting CPU time running spin locks and doing unneeded context switches…” So if we have a very large amount of spin waits and spin rounds, will we increase innodb_sync_spin_loops or decrease it in order to reduce spin waits/rounds?

Post: kernel_mutex problem cont. Or triple your throughput

… 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… with innodb_thread_concurrency. My explanation on the performance degradation is following: InnoDB still uses some strange mutex implementation, based on sync_arrays….51 1024 22166.94 183524.16 So innodb_thread_concurrency is even more helpful innodb_sync_spin_loops, and allows to get stable result even…

Comment: SHOW INNODB STATUS walk through

innodb_sync_spin_loops can be used to ballance between wasting CPU time running spin locks and doing unneeded context switches….” So if I see very large amount of spin waits and spin rounds, will I increase or decrease the innodb_sync_spin_loops in order to reduce CPU…

Comment: kernel_mutex problem. Or double throughput with single variable

Setting innodb_sync_spin_loops is very interesting discussion because there is really no “right” … the limiting mutex for your workload the different amount of spinning might make sense. Better solution would be to have this… makes sense to wait. For example if we run long spin and can discover we either get the mutex after 10us…

Comment: SHOW INNODB STATUS walk through

… waits 29544296 RW-shared spins 17771305, OS waits 8349871; RW-excl spins 10508828, OS waits 5276204 Currently I have innodb_sync_spin_loops set to the…

Comment: Returning to InnoDB scalability

Would reducing innodb_sync_spin_loops below its default of 20 be helpful here? With the patch there are still 2500 spin rounds per OS wait, so it looks as though it’s still burning a lot of CPU.