GET 24/7 LIVE HELP NOW

Announcement

Announcement Module
Collapse
No announcement yet.

MySQL/Innodb Scaling Limitation - lock_table()

Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • MySQL/Innodb Scaling Limitation - lock_table()

    Hello,

    I am running sysbench on mysql5.0.37/solaris10/SunFireT2000 system and noticed the scaling limitation of mysql after #32 user connections and degradation in tps if more user connections are added.

    The analysis of %user time of different functions of mysql showed the hot stack to be,
    mysqld`ut_delay
    mysqld`mutex_spin_wait+0xac
    mysqld`mutex_enter_func+0x3c
    mysqld`lock_table+0x15c
    mysqld`row_search_for_mysql+0xda8

    Then I looked into the code of lock_table which calls lock_mutex_enter() which tries to get global lock and if it is not available, spins for it using mutex_spin_wait() which is implemented through ut_delay().

    This looks to be an obvious scaling limitation if its trying to grab a system wide lock. As more users are added this won't scale.

    Is my observation correct? Is it observed already?

    Let me know if any more information is needed from my side to understand this behaviour and root cause this scaling limitation

    Appreciate your time and understanding.

    regards
Working...
X