http://www.jb51.net/article/51828.htm
一、THREAD_CACHE
十年的惠安網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整惠安建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“惠安網(wǎng)站設(shè)計(jì)”,“惠安網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
MySQL里面為了提高客戶端請(qǐng)求創(chuàng)建連接過(guò)程的性能,提供了一個(gè)連接池也就是 Thread_Cache池,將空閑的連接線程放在連接池中,而不是立即銷毀.這樣的好處就是,當(dāng)又有一個(gè)新的請(qǐng)求的時(shí)候,mysql不會(huì)立即去創(chuàng)建連接 線程,而是先去Thread_Cache中去查找空閑的連接線程,如果存在則直接使用,不存在才創(chuàng)建新的連接線程.
有關(guān)Thread_Cache在MySQL有幾個(gè)重要的參數(shù),簡(jiǎn)單介紹如下:
thread_cache_size
Thread_Cache 中存放的最大連接線程數(shù).在短連接的應(yīng)用中Thread_Cache的功效非常明顯,因?yàn)樵趹?yīng)用中數(shù)據(jù)庫(kù)的連接和創(chuàng)建是非常頻繁的,如果不使用 Thread_Cache那么消耗的資源是非常可觀的!在長(zhǎng)連接中雖然帶來(lái)的改善沒(méi)有短連接的那么明顯,但是好處是顯而易見(jiàn)的.但并不是越大越好大了反而 浪費(fèi)資源這個(gè)的確定一般認(rèn)為和物理內(nèi)存有一定關(guān)系,如下:
thread_stack
每個(gè)連接被創(chuàng)建的時(shí)候,mysql分配給它的內(nèi)存.這個(gè)值一般認(rèn)為默認(rèn)就可以應(yīng)用于大部分場(chǎng)景了,除非必要非則不要?jiǎng)铀?
thread_handing
運(yùn)用Thread_Cache處理連接的方式,5.1.19添加的新特性.有兩個(gè)值可選[no-threads|one-thread-per-connection] 看字面意思大家也該猜出八九分了,呵呵,no-threads 服務(wù)器使用一個(gè)線程,one-thread-per-connection 服務(wù)器為每個(gè)客戶端請(qǐng)求使用一個(gè)線程.原手冊(cè)中提到,no-threads是在Linux下調(diào)試用的.
mysql> show status like '%connections%';
+———————-+——–+
| Variable_name | Value |
+———————-+——–+
| Connections | 199156 |
| Max_used_connections | 31 |
+———————-+——–+
2 rows in set (0.00 sec)
mysql> show status like '%thread%';
+————————+——–+
| Variable_name | Value |
+————————+——–+
| Delayed_insert_threads | 0 |
| Slow_launch_threads | 0 |
| Threads_cached | 3 |
| Threads_connected | 6 |
| Threads_created | 8689 |
| Threads_running | 5 |
+————————+——–+
6 rows in set (0.00 sec)
服 務(wù)器總共有199156次連接,最大并發(fā)連接數(shù)為31,當(dāng)前在thread_cashe池中的連接數(shù)為3個(gè),連接數(shù)為6個(gè),處于活躍狀態(tài)的有5個(gè),共創(chuàng)建 了8689次連接.顯然這里以短連接為主.可以算出thread_cache命中率,公式為:
當(dāng)前服務(wù)器的Thread_cache命中率約為95.6%這個(gè)結(jié)果我還是比較滿意的.但是可以看出 thread_cache_size有點(diǎn)多余改成16或8更合理一些.
二、TABLE_CACHE(5.1.3及以后 版本又名TABLE_OPEN_CACHE)
由于MySQL是多線程的機(jī)制,為了提高性能,每個(gè)線程都是獨(dú)自打開(kāi)自己需要的表的文件描 述符,而不是通過(guò)共享已經(jīng)打開(kāi)的.針對(duì)不同存儲(chǔ)引擎處理的方法當(dāng)然也不一樣.
在myisam表引擎中,數(shù)據(jù)文件的描述符 (descriptor)是不共享的,但是索引文件的描述符卻是所有線程共享的.Innodb中和使用表空間類型有關(guān),假如是共享表空間那么實(shí)際就一個(gè)數(shù) 據(jù)文件,當(dāng)然占用的數(shù)據(jù)文件描述符就會(huì)比獨(dú)立表空間少.
個(gè)人感覺(jué)有點(diǎn)像php里面的fopen打開(kāi)一個(gè)連接,操作完數(shù)據(jù)之后,并不立即 關(guān)閉,而是緩存起來(lái),等待下一個(gè)連接這個(gè)文件的請(qǐng)求就不必去重新打開(kāi)文件了,不知樣理解對(duì)不對(duì),哈.
手冊(cè)上有段關(guān)于打開(kāi)表時(shí)的描述:
mysql手冊(cè)上給的建議大小 是:table_cache=max_connections*n
n表示查詢語(yǔ)句中最大表數(shù), 還需要為臨時(shí)表和文件保留一些額外的文件描述符。
這個(gè)數(shù)據(jù)遭到很多質(zhì)疑,table_cache夠用就好,檢查 Opened_tables值,如果這個(gè)值很大,或增長(zhǎng)很快那么你就得考慮加大table_cache了.
在下面的條件下,未使用的表 將被關(guān)閉并從表緩存中移出:
當(dāng)緩存滿了并且一個(gè)線程試圖打開(kāi)一個(gè)不在緩存中的表時(shí)。
當(dāng)緩存包含超過(guò)table_cache個(gè)條目,并且緩存中的表不再被任何線程使用。
當(dāng)表刷新操作發(fā)生。當(dāng)執(zhí)行FLUSH TABLES語(yǔ)句或執(zhí)行mysqladmin flush-tables或mysqladmin refresh命令時(shí)會(huì)發(fā)生。
當(dāng)表緩存滿時(shí),服務(wù)器使用下列過(guò)程找到一個(gè)緩存入口來(lái)使用:
當(dāng)前未使用的表被釋放,以最近最少使用順序。
如果緩存滿了并且沒(méi)有表可以釋放,但是一個(gè)新表需要打開(kāi),緩存必須臨時(shí)被擴(kuò)大。
如果緩存處于一個(gè)臨時(shí)擴(kuò)大狀態(tài)并且一個(gè)表從在用變?yōu)椴辉谟脿顟B(tài),它被關(guān)閉并從緩存中釋放。
幾個(gè)關(guān)于table_cache的 狀態(tài)值:
1. table_cache:所有線程打開(kāi)的表的數(shù)目。增大該值可以增加mysqld需要的文件描述符的數(shù)量。默認(rèn)值是64.
2. open_tables:當(dāng)前打開(kāi)的表的數(shù)量.
3. opened_tables :Number of table cache misses,如果opened_tables較大,table_cache 值可能太小.
4. Open_table_definitions : The number of cached .frm files. This variable was added in MySQL 5.1.3.
5. Opened_table_definitions : The number of .frm files that have been cached. This variable was added in MySQL 5.1.24.
新聞名稱:轉(zhuǎn):MySQL性能優(yōu)化配置參數(shù)之thread_cache和table_cache詳解
當(dāng)前網(wǎng)址:http://bm7419.com/article28/gihgcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、定制開(kāi)發(fā)、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、企業(yè)建站、動(dòng)態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)