Hi Sergei, On Wed, Dec 11, 2013 at 09:34:02PM +0100, Sergei Golubchik wrote:
Hi, Sergey!
On Dec 11, Sergey Vojtovich wrote:
On Tue, Dec 10, 2013 at 10:14:32PM +0100, Sergei Golubchik wrote:
Hi, Sergey!
Did you benchmark the improvement you get with this patch? Yes, my results against recent 10.0 are in jira task description.
Ah, I see, thanks. Great!
Also please find Axel's results (MDEV-4956 + MDEV-5388) attached. From Axel's results please note performance regression between 10.0.4 and 10.0.5.
Why is that, do you know? Not yet, but I plan to investigate it next week.
Okay, so you only purge one table at time? Since purge is kind of an expensive operation, it's better to amortize the cost of it by purging many tables at once. With current algorithm it is impossible to get multiple tables for purge here, explanation above.
But you said that in the next patch it becomes possible, or did I misunderstand?
Yes, it becomes possible, but I'd say it is headache of the next patch. It becomes possible when two (or more) tc_add_table() executed concurrently: thr1: tc_count++ thr2: tc_count++ // Now we will try to evict 2 tables. thr1: <LOCK_open>start expensive eviction</LOCK_open> thr2: <LOCK_open>start expensive eviction</LOCK_open> But for now it is like: thr1: <LOCK_open>tc_count++; start expensive eviction</LOCK_open> thr2: <LOCK_open>tc_count++; start expensive eviction</LOCK_open> Regards, Sergey