什么是mysql后臺(tái)線程,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
成都創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供新野企業(yè)網(wǎng)站建設(shè),專(zhuān)注與網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為新野眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。1.mysql后臺(tái)線程
mysql后臺(tái)線程主要用于維持服務(wù)器的正常運(yùn)行和完成用戶提交的任務(wù),主要包括:master thread,read thread,write thread,redo log thread,change buffer thread,page cleaner thread,purge thread,checkpoint,error monitor thread,lock monitor thread等.
2.mysql后臺(tái)線程詳解
1)master thread
Master
thread優(yōu)先級(jí)最高, 其內(nèi)部包含幾個(gè)循環(huán):主循環(huán)(loop),后臺(tái)循環(huán)(background loop),刷新循環(huán)(flush
loop),暫停循環(huán)(suspend loop).master thread會(huì)根據(jù)其內(nèi)部運(yùn)行的相關(guān)狀態(tài)在前述各循環(huán)間中進(jìn)行切換.
大部分操作在主循環(huán)(loop)中完成,其包含有1s和10s兩種操作.
1s操作主要包括:日志緩沖刷新到磁盤(pán)(總是,即使事務(wù)還沒(méi)有提交);最多刷100個(gè)新臟頁(yè)到磁盤(pán)(可能);執(zhí)行和并改變緩沖的操作(可能);若當(dāng)前沒(méi)有用戶活動(dòng),可能切換到background loop等.
10s操作主要包括:刷新100個(gè)臟頁(yè)到磁盤(pán)(可能);合并至多5個(gè)改變緩沖(總是);日志緩沖刷新到磁盤(pán)(總是);刪除無(wú)用的undo頁(yè)(總是);刷新100個(gè)或者10個(gè)臟頁(yè)到磁盤(pán)(總是)產(chǎn)生一個(gè)檢查點(diǎn)(總是)等.
2)read thread
read thread為mysql的讀線程,默認(rèn)為4個(gè),其負(fù)責(zé)將數(shù)據(jù)頁(yè)從磁盤(pán)上讀入,其由innodb_read_io_threads選項(xiàng)控制.用戶線程發(fā)起讀請(qǐng)求并將其放至讀請(qǐng)求隊(duì)列,read threads從讀請(qǐng)求隊(duì)列獲取讀任務(wù)并完成.
3)write thread
write
thread為mysql的寫(xiě)線程,默認(rèn)為4個(gè),其負(fù)責(zé)將數(shù)據(jù)頁(yè)從緩沖區(qū)寫(xiě)出到磁盤(pán),其由innodb_write_io_threads控制選項(xiàng)控制.page_cleaner線程發(fā)起寫(xiě)請(qǐng)求并將其放至寫(xiě)請(qǐng)求隊(duì)列,write
threads從寫(xiě)請(qǐng)求隊(duì)列獲取寫(xiě)任務(wù)并完成.
4)redo log thread
redo log thread負(fù)責(zé)把日志緩沖中的內(nèi)容刷新到redo log文件中.
5)change buffer thread
change buffer thread負(fù)責(zé)把改變緩沖(change buffer)中的內(nèi)容刷新到磁盤(pán).
6)page cleaner thread
page cleaner thread是負(fù)責(zé)臟頁(yè)刷新的線程,從MySQL5.7起可增加多個(gè).
7)purge thread
purge
thread負(fù)責(zé)刪除無(wú)用的undo頁(yè).由于進(jìn)行DML語(yǔ)句的操作都會(huì)生成undo,系統(tǒng)需要定期對(duì)undo頁(yè)進(jìn)行清理,這是需要purge操作,同時(shí),其還對(duì)已經(jīng)標(biāo)記為刪除但還未清理的無(wú)用clustered和secondary索引數(shù)據(jù)進(jìn)行清除.mysql5.6開(kāi)始,把purge
thread專(zhuān)門(mén)從master
thread中分離出來(lái),其由innodb_purge_thread選項(xiàng)進(jìn)行控制.默認(rèn)為1個(gè),大可以調(diào)整為32個(gè).
8)checkpoint thread
checkpoint thread負(fù)責(zé)在redo log發(fā)生切換時(shí),執(zhí)行checkpoint.
9)error monitor thread
error monitor thread負(fù)責(zé)mysql報(bào)錯(cuò)的監(jiān)控.
10)lock monitor thread
lock monitor thread負(fù)責(zé)mysql鎖的監(jiān)控.
看完上述內(nèi)容,你們掌握什么是mysql后臺(tái)線程的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!
名稱(chēng)欄目:什么是mysql后臺(tái)線程-創(chuàng)新互聯(lián)
分享鏈接:http://www.rwnh.cn/article0/ccieio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、定制網(wǎng)站、網(wǎng)站內(nèi)鏈、App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(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)
猜你還喜歡下面的內(nèi)容