mariadb/storage
Marko Mäkelä 60ed479711 MDEV-26004 Excessive wait times in buf_LRU_get_free_block()
buf_LRU_get_free_block(): Initially wait for a single block to be
freed, signaled by buf_pool.done_free. Only if that fails and no
LRU eviction flushing batch is already running, we initiate a
flushing batch that should serve all threads that are currently
waiting in buf_LRU_get_free_block().

Note: In an extreme case, this may introduce a performance regression
at larger numbers of connections. We observed this in sysbench
oltp_update_index with 512MiB buffer pool, 4GiB of data on fast NVMe,
and 1000 concurrent connections, on a 20-thread CPU. The contention point
appears to be buf_pool.mutex, and the improvement would turn into a
regression somewhere beyond 32 concurrent connections.

On slower storage, such regression was not observed; instead, the
throughput was improving and maximum latency was reduced.

The excessive waits were pointed out by Vladislav Vaintroub.
2021-06-24 11:01:18 +03:00
..
archive Merge 10.4 into 10.5 2021-04-21 09:01:01 +03:00
blackhole Merge 10.3 into 10.4 2020-11-03 14:49:17 +02:00
cassandra Merge branch 'bb-10.4-release' into bb-10.5-release 2021-02-15 16:43:15 +01:00
columnstore new column store 5.5.2-2 2021-05-02 09:06:27 +02:00
connect Merge 10.4 into 10.5 2021-06-08 16:03:53 +03:00
csv Merge branch 'bb-10.4-release' into bb-10.5-release 2021-02-15 16:43:15 +01:00
example
federated Fix various spelling errors still found in code 2021-03-22 18:10:39 +11:00
federatedx MDEV-22775: Merge 10.4 into 10.5 2021-04-08 08:08:53 +03:00
heap Merge 10.4 into 10.5 2021-06-08 16:03:53 +03:00
innobase MDEV-26004 Excessive wait times in buf_LRU_get_free_block() 2021-06-24 11:01:18 +03:00
maria Merge 10.4 into 10.5 2021-06-21 14:22:22 +03:00
mroonga Merge 10.4 into 10.5 2021-05-26 09:47:28 +03:00
myisam Merge 10.4 into 10.5 2021-06-21 14:22:22 +03:00
myisammrg
oqgraph Merge branch 'bb-10.4-release' into bb-10.5-release 2021-02-15 16:43:15 +01:00
perfschema perfschema: native type for my_thread_os_id_t 2021-06-01 13:51:39 +10:00
rocksdb MDEV-25305: MyRocks: Killing server during RESET MASTER can lose last transactions 2021-03-31 10:26:00 +03:00
sequence Merge branch 'bb-10.4-release' into bb-10.5-release 2021-02-15 16:43:15 +01:00
sphinx Merge branch 'bb-10.4-release' into bb-10.5-release 2021-02-15 16:43:15 +01:00
spider Merge 10.4 into 10.5 2021-06-21 14:22:22 +03:00
test_sql_discovery
tokudb Fix various spelling errors still found in code 2021-03-22 18:10:39 +11:00