I backported the fix for faster DROP TABLE from MySQL 5.5 to 5.1 to compare it with my patch. I repeated the previous test for the official fix and was impressed. This is a great improvement from the InnoDB development team.
The chart contains QPS for sysbench with 8 concurrent clients. In the background another thread is doing "create table; insert ...; drop table" in a loop. Performance degrades significantly in MySQL 5.1 with this workload as described in the report for bug 51325. Things will soon be much better.
In the results below the backport was tested in two scenarios. In the first test there were no dirty pages in the buffer pool. In the second test there were about 50,000 dirty pages in the buffer pool. As the fix from MySQL 5.5 still scans the flush list during DROP TABLE, there is more overhead when there are more dirty pages.
- no drop table - without DROP TABLE running concurrently
- Facebook - with the fix from the Facebook patch and concurrent DROP TABLE
- Backport - clean - with the backport of the fix from MySQL 5.5 to 5.1 and concurrent DROP TABLE
- Backport - dirty - with the backport of the fix from MySQL 5.5 to 5.1, concurrent DROP TABLE and 8% dirty pages
- slow drop table -without the fix from the Facebook patch and concurrent DROP TABLE
PlanetMySQL Voting: Vote UP / Vote DOWN