Bug #55681 MTR slowdown after default storage engine was changed to InnoDB
Submitted: 2 Aug 2010 10:43 Modified: 14 Dec 2010 19:20
Reporter: Davi Arnaut (OCA) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S2 (Serious)
Version:trunk OS:Any
Assigned to: Sunny Bains CPU Architecture:Any
Triage: Triaged: D4 (Minor) / R2 (Low) / E2 (Low)

[2 Aug 2010 10:43] Davi Arnaut
Description:
Executing a simple test case is now taking around 15 seconds, whereas it used to take 1 second before the default storage engine was changed to InnoDB. The bulk of the time seems to be wasted waiting for InnoDB to start and shutdown.

Although some overhead is unavoidable since InnoDB has to prepare some internal files and such, profiling shows that a good chunk of time is wasted because InnoDB threads are sleeping and fail to quickly notice a shutdown.

How to repeat:
$ echo "SELECT 1;" > t/foo.test
$ ./mtr --record foo
$ time ./mtr foo

Suggested fix:
Make InnoDB start and shutdown procedures faster, at least when running the test suite. InnoDB threads should notice a shutdown in a more expedited way.
[20 Aug 2010 9:46] Sunny Bains
The fix is to change the os_thread_sleep() in the various monitor threads to os_event_wait_time().
On my laptop this reduced the shutdown time from 12secs to 7 secs.
[13 Nov 2010 16:15] Bugs System
Pushed into mysql-trunk 5.6.99-m5 (revid:alexander.nozdrin@oracle.com-20101113155825-czmva9kg4n31anmu) (version source revid:alexander.nozdrin@oracle.com-20101113152450-2zzcm50e7i4j35v7) (merge vers: 5.6.1-m4) (pib:21)
[13 Nov 2010 16:34] Bugs System
Pushed into mysql-next-mr (revid:alexander.nozdrin@oracle.com-20101113160336-atmtmfb3mzm4pz4i) (version source revid:vasil.dimov@oracle.com-20100629074804-359l9m9gniauxr94) (pib:21)
[16 Dec 2010 22:29] Bugs System
Pushed into mysql-5.5 5.5.9 (revid:jonathan.perkin@oracle.com-20101216101358-fyzr1epq95a3yett) (version source revid:jonathan.perkin@oracle.com-20101216101358-fyzr1epq95a3yett) (merge vers: 5.5.9) (pib:24)