欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MariaDB中的thread pool詳細(xì)介紹和使用方法

 更新時(shí)間:2014年07月22日 11:09:39   作者:吳炳錫  
這篇文章主要介紹了MariaDB中的thread pool詳細(xì)介紹和使用方法,thread pool對(duì)高并發(fā)的環(huán)境是很好的一個(gè)解決方法,需要的朋友可以參考下

Thread pool是什么

MySQL是每個(gè)連接上來(lái)都要?jiǎng)?chuàng)建一個(gè)線程來(lái)執(zhí)行語(yǔ)句。這樣每一個(gè)新的連接進(jìn)來(lái)即會(huì)創(chuàng)建一個(gè)新的線程,這種動(dòng)作對(duì)MySQL本身壓力比較大。Threadpool是提供一種線程代理的模型執(zhí)行每個(gè)連接的語(yǔ)句。而MySQL內(nèi)部維護(hù)一個(gè)可能接受的線程總數(shù),減少線程太多在CPU切換等方面的壓力。

使用Threadpool的好處

1.使用線程代理的模型在連接數(shù)已知可控的情況下,提前創(chuàng)建好過(guò)線程并利用操作系統(tǒng)的threadpool技術(shù)維護(hù),能減少很多開銷。

2.盡可能的使用操作系統(tǒng)的線程方面的管理,把線程管理開銷降到最低。 3. 利用
thread_pool_max_threads控制資源使用

什么情況下Thread Pool作用比較?。?/strong>

1.并發(fā)太高及有長(zhǎng)的語(yǔ)句操作?!∪纾簝?nèi)部threadpool的總數(shù)為:10個(gè),外面并發(fā)來(lái)了1000個(gè)請(qǐng)求,現(xiàn)在都來(lái)爭(zhēng)用這10個(gè)內(nèi)部線程,這個(gè)開銷也比較重。同樣道理加大threadpool后,innodb內(nèi)部的并發(fā)也會(huì)受到限制。

2.突發(fā)的大量連接。這個(gè)情況下threadpool還有一定的作用,但是效果不明顯了。如果為了防止大量的連接進(jìn)來(lái)??梢钥紤]增加thread_pool_min_threads及thread_pool_idle_timeout的值,讓平時(shí)也維護(hù)一個(gè)大的threadpool

3.高并發(fā)的環(huán)境,有可能簡(jiǎn)單的查詢也會(huì)變慢。雖然select 1;這樣的查詢很簡(jiǎn)單應(yīng)該會(huì)很快完成。但在threadpool的下面也需要排隊(duì)等待從theadpool得到可用的線程才能執(zhí)行。

使用方法:

目前支持threadpool的有MariaDB, Percona, 官方MySQL的一個(gè)收費(fèi)功能。配置啟用。

在my.cnf

復(fù)制代碼 代碼如下:

[mysqld]
#thread pool
thread_handling=pool-of-threads

相關(guān)文章

最新評(píng)論