高性能MySQL:线程

作者:港云互联 时间:2020-01-08

        MySQL每个连接使用一个线程,另外还有内部处理线程、特殊用途的线程,以及所有存储引擎创建的线程。在MySQL 5.5中,Oracle 提供了一个线程池插件,但目前尚不清楚在实际应用中能获得什么好处。



        无论哪种方式,MySQL都需要大量的线程才能有效地工作。MySQL确实需要内核级线程的支持,而不只是用户级线程,这样才能更有效地使用多个CPU。另外也需要有效的同步原子,例如互斥变量。操作系统的线程库必须提供所有的这些功能。

高性能MySQL:线程


        GNU/Linux提供两个线程库: LinuxThreads和新的原生POSIX线程库(NPTL)。LinuxThreads在某些情况下仍然使用,但现在的发行版已经切换到NPTL,并且大部分应用已经不再加载LinuxThreads。NPTL 更轻量,更高效,也不会有那些Linux Threads遇到的问题。



        FreeBSD会加载许多线程库。从历史上看,它对线程的支持很弱,但现在已经变得好多了,在一些测试中,甚至优于SMP系统上的GNU/Linux.在FreeBSD 6和更新版本,推荐的线程库是libthr,早期版本使用的linuxthreads,是FreeBSD从GNU/Linux上移植的LinuxThreads库。



        通常,线程问题都是过去的事了,现在GNU/Linux和FreeBSD都提供了很好的线程库。



        Solaris 和Windows 一直对线程有很好的支持, 尽管直到5.5发布之前,MyISAM 都不能在Windows下很好地使用线程,但5.5里有显著的提升。


新人注册,即送价值满880元现金劵

立即注册>>
客服 电话 反馈 活动 回顶部

服务热线

+852-5764-9835

1对1贴心服务,7X24小时热线