May 23, 2012

Post: Tuning InnoDB Concurrency Tickets

… the corresponding number of concurrency tickets used for each: mysql> CREATE TABLE test_table ( -> id int -> ) ENGINE=InnoDB; — 0 Tickets Used Query OK… of them is subject to a concurrency check or complete execution and exit InnoDB. If innodb_concurrency_tickets had been increased to >= 900…

Post: InnoDB thread concurrency

…_concurrency_tickets tickets, so next innodb_concurrency_tickets times thread will not be checked, and will enter free. Simplified code looks like: if (thread->n_tickets…->n_tickets_to_enter_innodb–; ENTER; } retry: if (entered_thread < innodb_thread_concurrency) { entered_threads++; thread->n_tickets_to_enter_innodb = innodb_concurrency_tickets; ENTER…

Comment: Tuning InnoDB Concurrency Tickets

Ryan, I am not sure I understand why higher innodb_concurrency tickets will reduce throughput ? For me it looks opposite – the higher… less “interruptions” while running queries and less overhead while checking concurrency. It will however increase variance – the larger is the value…, so the time to which given number of tickets correspond can vary. 500 tickets may amount to less than ms if small…

Post: Ultimate MySQL variable and status reference list

….commanual Com_xa_startblogpercona.commanual completion_typeblogpercona.commanual Compressionblogpercona.commanual concurrent_insertblogpercona.commanual connect_timeoutblogpercona.commanual Connectionsblogpercona.commanual consoleblogpercona.commanual core…_bufferingblogpercona.commanual innodb_checksumsblogpercona.commanual innodb_commit_concurrencyblogpercona.commanual innodb_concurrency_ticketsblogpercona.commanual innodb_data_file_pathblogpercona.commanual Innodb_data_fsyncsblogpercona…

Comment: MySQL on Amazon RDS part 2: Determining Peak Throughput

… innodb_change_buffering inserts innodb_checksums ON innodb_commit_concurrency 0 innodb_concurrency_tickets 500 innodb_data_file_path ibdata1:10M:autoextend innodb…_sync_spin_loops 30 innodb_table_locks ON innodb_thread_concurrency 0 innodb_thread_sleep_delay 10000 innodb_use_sys_malloc…

Comment: InnoDB thread concurrency

[...] “Killed”, but never dying. Based on what I’d read in High Performance MySQL, and articles like this one, I tried twiddling with innodb_thread_concurrency, innodb_concurrency_tickets, and [...]

Comment: InnoDB thread concurrency

Does a thread which “ENTER” cause (thread->n_tickets_to_enter_innodb > 0) is include in “entered_thread” ? Does it mean we can have more thread than innodb_thread_concurrency which inside innodb_kernel ? suppose innodb_thread_concurrency=8, 9 threads have free tickets and all of them ENTER.

Post: SHOW INNODB STATUS walk through

… only contain any entries if you’re running in high concurrency envinronment, so Innodb has to fall back to OS waits… kernel and still has 400 tickets to use. Innodb tries to limit thread concurrency allowing only innodb_thread_concurrency threads to run inside… being less than number of threads allowed by innodb_thread_concurrency. For certain workloads it may help to decrease the time…

Comment: MySQL QA Team Benchmarks for MySQL 5.1.30

… it performs disk IO. Not to mention thread gets multiple “tickets” which may keep slot blocked while thread is not really… not all sections are protected by innodb_thread_concurrency – there is also innodb_commit_concurrency on Innodb stage, not to mention contentions…