Bug #77094 Reduce log_sys->mutex contention by allowing concurrent mtr commit and log write
| Submitted: | 19 May 2015 13:13 | Modified: | 23 Aug 2016 1:58 |
|---|---|---|---|
| Reporter: | zhai weixiang (OCA) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: InnoDB storage engine | Severity: | S3 (Non-critical) |
| Version: | 5.7.7 | OS: | Any |
| Assigned to: | CPU Architecture: | Any |
[19 May 2015 13:13]
zhai weixiang
[19 May 2015 13:14]
zhai weixiang
patch to prove the performance improvement, not fully tested. based on 5.7.7 (*) I confirm the code being submitted is offered under the terms of the OCA, and that I am authorized to contribute it.
Contribution: double_redo_buffer.diff (application/octet-stream, text), 17.99 KiB.
[1 Jul 2015 5:01]
MySQL Verification Team
Hello Zhai , Thank you for the report and contribution. Thanks, Umesh
[10 Mar 2016 13:24]
Daniel Price
Posted by developer: Fixed as of the upcoming 5.8.0 release, and here's the changelog entry: Log buffer contention was reduced with the addition of a second buffer, allowing for concurrent log buffer writing and flushing. A new mutex was added to protect log buffer flushing. Thanks to Zhai Weixiang for the patch.
[23 Aug 2016 1:58]
zhai weixiang
I found this bug was fixed in 5.7 but not appeared on release note.
Relevant commit:
commit aa47808311914c2d0bbaa9f3ae44379d59089122
Author: Bin Su <bin.x.su@oracle.com>
Date: Wed Apr 13 11:45:41 2016 +0800
Bug#21352937 - REDUCE LOG_SYS->MUTEX CONTENTION BY ALLOWING CONCURRENT
MTR COMMIT AND LOG WRITE
[9 Oct 2018 14:11]
haochen he
My result: v5.7.7-rc innodb_flush_log_at_trx_commit=2 (avg latency) 16 2.12ms 64 10.19ms 128 22.36ms innodb_flush_log_at_trx_commit=1 (avg latency) 16 2.28ms 64 11.05ms 128 22.5ms v5.7.6-m16 innodb_flush_log_at_trx_commit=2 (avg latency) 16 2.27ms 64 11.02ms 128 23.73ms innodb_flush_log_at_trx_commit=1 (avg latency) 16 2.48ms 64 11.18ms 128 22.03ms The result seems consistent with you. Wonder why should I increase the number of threads to reveal this degration. Shouldn't 'mtr commit' and 'log write' happen no matter how many concurrent client is online?
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.055 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.