Tag Archives: mutex

InnoDB locking makes me sad

Vadim and others have pointed at the index->lock problems before, but I think they didn’t good job enough at pointing out how bad it can get (the actual problematic was hidden somewhere as some odd edge case). What ‘index lock’ … Continue reading

Posted in facebook, mysql | Tagged , , , | 19 Comments

Opening tables v2!

PMP on demand revealed one of reasons why we’ve been seeing ‘Opening tables’ during proper operations, not just during startup (see my previous post on this topic). We had a thousand or so threads waiting on LOCK_open, and the only … Continue reading

Posted in mysql | Tagged , , | 2 Comments

Opening tables!

There’s one bottleneck in MySQL/InnoDB that ultimately sucks. It sucked in 4.0, sucked in 5.0, sucks in 5.1 with newest InnoDB plugin. Opening tables has been a bottleneck on machines that have thousands of tables all the time (as LOCK_open … Continue reading

Posted in mysql | Tagged , | 3 Comments

On deadlock detection

InnoDB detects deadlocks. Deadlocks are those nasty situations, when transaction 1 tries to acquire locks A and B, whereas transaction 2 tries to acquire locks B and A at the same time. As both are stubborn, InnoDB will decide simply … Continue reading

Posted in mysql | Tagged , , | 2 Comments

Eyecandy mutexes!

In my quest of making MySQL usable, I managed to hit contention that wasn’t spotted by performance masters before. Meet most useless mutex ever (this is actual contention event, not just a hold): Count nsec Lock 1451 511364 mysqld`ut_list_mutex nsec … Continue reading

Posted in mysql | Tagged , , | 3 Comments

plockstat fail!

Solaris has this beautiful tool ‘plockstat’ that can report application lock contention and hold events (hold events turn into contention events at parallelism.. ;-) It is just a frontend to a set of dtrace rules, that monitor mutexes and rwlocks. … Continue reading

Posted in mysql | Tagged , , , | 3 Comments