mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Fix for bug#12695572 - "IMPROVE MDL PERFORMANCE IN PRE-VISTA
BY CACHING OR REDUCING CREATEEVENT CALLS". 5.5 versions of MySQL server performed worse than 5.1 versions under single-connection workload in autocommit mode on Windows XP. Part of this slowdown can be attributed to overhead associated with constant creation/destruction of MDL_lock objects in the MDL subsystem. The problem is that creation/destruction of these objects causes creation and destruction of associated synchronization primitives, which are expensive on Windows XP. This patch tries to alleviate this problem by introducing a cache of unused MDL_object_lock objects. Instead of destroying such objects we put them into the cache and then reuse with a new key when creation of a new object is requested. To limit the size of this cache, a new --metadata-locks-cache-size start-up parameter was introduced.
This commit is contained in:
@ -336,6 +336,8 @@ The following options may be given as the first argument:
|
||||
After this many write locks, allow some read locks to run
|
||||
in between
|
||||
--memlock Lock mysqld in memory.
|
||||
--metadata-locks-cache-size=#
|
||||
Size of unused metadata locks cache
|
||||
--min-examined-row-limit=#
|
||||
Don't write queries to slow log that examine fewer rows
|
||||
than that
|
||||
@ -844,6 +846,7 @@ max-tmp-tables 32
|
||||
max-user-connections 0
|
||||
max-write-lock-count 18446744073709551615
|
||||
memlock FALSE
|
||||
metadata-locks-cache-size 1024
|
||||
min-examined-row-limit 0
|
||||
multi-range-count 256
|
||||
myisam-block-size 1024
|
||||
|
Reference in New Issue
Block a user