Где-то тут у
меня уже
было про Майкла Ронстрома. Потрясающими
вещами парень занимается — масштабирует
MySQL Cluster до каких-то безумных чисел.
Вот, например:
Almost all software
designed for multithreaded use cases in the 1990s have some sort of
big kernel mutex, as a matter of a fact this is also true for some
hyped new software written in this millenium and even in this decade.
Linux had its big kernel mutex, InnoDB had its kernel mutex, MySQL
server had its LOCK_open mutex. All these mutexes are characterized
by the fact that these mutexes protects many things that often have
no connection with each other.
…
What we have done in
MySQL Cluster 7.3 is that we have fixed this bottleneck. We have
split the transporter mutex and replaced it with mutexes that
protects sending to a specific data node, mutexes that protects
receiving from a certain data node, mutexes that protect memory
buffers and mutexes that protect execution on behalf of a certain NDB
API connection.
…
This means a
significant improvement of throughput per API node. If we run a
benchmark with just one data node using the flexAsynch benchmark that
handles around 300-400k transactions per second per API node, this
improvement increases throughput by around 50%. A Sysbench benchmark
for one data node is improved by a factor of 3.3x. Finally a DBT2
benchmark with one data node is improved by a factor of 7.5x.
Что позволило
достичь почти миллиона транзакций в
секунду на один узел!
Вот такие люди
делают БигДату доступной.
Кстати, не
забываем — Большой Брат присматривает
за тобой все чаще и внимательнее, благо
БигДата позволяет.
original post http://vasnake.blogspot.com/2013/12/thread-scalability.html
Этот комментарий был удален администратором блога.
ОтветитьУдалить