国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

MySQL 8.0中InnoDB buffer pool size進(jìn)度更透明

這篇具有很好參考價值的文章主要介紹了MySQL 8.0中InnoDB buffer pool size進(jìn)度更透明。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

  • GreatSQL社區(qū)原創(chuàng)內(nèi)容未經(jīng)授權(quán)不得隨意使用,轉(zhuǎn)載請聯(lián)系小編并注明來源。
  • GreatSQL是MySQL的國產(chǎn)分支版本,使用上與MySQL一致。
  • 作者:Yejinrong/葉金榮
  • 文章來源:GreatSQL社區(qū)原創(chuàng)

MySQL 8.0 up up up~

從MySQL 5.7開始,支持在線動態(tài)調(diào)整 innodb buffer pool,并為此新增了一個狀態(tài)變量 Innodb_buffer_pool_resize_status,可以通過觀察它了解調(diào)整buffer pool過程中的一些狀態(tài),例如 Resizing also other hash tables.Completed resizing buffer pool at 230131 15:57:03.。

從8.0.31開始,針對innodb buffer pool在線動態(tài)resize特性,新增了下面兩個狀態(tài)變量,可以更方便透明觀察resize的進(jìn)度:

狀態(tài)變量 解釋
Innodb_buffer_pool_resize_status_code buffer pool resize狀態(tài)碼,共有以下幾種不同值: - 0: No Resize operation in progress - 1: Starting Resize - 2: Disabling AHI (Adaptive Hash Index) - 3: Withdrawing Blocks,清除/降低buffer pool pages(主要針對buffer pool縮小的情況) - 4: Acquiring Global Lock - 5: Resizing Pool - 6: Resizing Hash - 7: Resizing Failed
Innodb_buffer_pool_resize_status_progress 報告當(dāng)前resize的進(jìn)度,用百分比進(jìn)度條方式展示,數(shù)值范圍從0-100

我們可以通過 Innodb_buffer_pool_resize_status_code 報告的狀態(tài)碼,了解當(dāng)前的狀態(tài),以及是否出現(xiàn)報錯等情況。

狀態(tài)變量 Innodb_buffer_pool_resize_status_progress 可以實時查看當(dāng)前resize的百分比進(jìn)度,當(dāng)有多個buffer pool instance時,每完成一個instance resize,該值就會更新一次。每當(dāng) Innodb_buffer_pool_resize_status_code 狀態(tài)碼變化一次,則 progress 的進(jìn)度百分比會被重置為0,重新開始。當(dāng)整個buffer pool都resize完成后,最終顯示100。

接下來,我們找個正在跑sysbench壓測中的實例,對其在線調(diào)整buffer pool看看這幾個狀態(tài)變量分別是怎樣的。壓測期間,在另一個窗口跑下面的命令觀察:

$ while [ 1 ] ; do mysqladmin ext | grep -i Innodb_buffer_pool_resi | sed 's/ //g'; sleep 0.5; echo ; echo; done
...
|Innodb_buffer_pool_resize_status|bufferpool7:withdrawingblocks.(112590/122869)|
|Innodb_buffer_pool_resize_status_code|3|
|Innodb_buffer_pool_resize_status_progress|0|
...
|Innodb_buffer_pool_resize_status|bufferpool7:resizingwithchunks16to1.|
|Innodb_buffer_pool_resize_status_code|5|
|Innodb_buffer_pool_resize_status_progress|87|
...
|Innodb_buffer_pool_resize_status|Completedresizingbufferpoolat2302029:58:50.|
|Innodb_buffer_pool_resize_status_code|0|
|Innodb_buffer_pool_resize_status_progress|100|

此外,還可以從日志文件中查看詳細(xì)過程:

09:56:20.275388+08:00 30 .. Resizing buffer pool from 17179869184 to 8589934592 (unit=134217728). (new size: 8589934592 bytes)
09:56:20.275397+08:00 0 .. Status code 1: Resizing buffer pool from 17179869184 to 8589934592 (unit=134217728).
09:56:20.275417+08:00 0 .. Status code 1: 12% complete
09:56:20.275422+08:00 0 .. Status code 1: 25% complete
...
09:56:20.275439+08:00 0 .. Status code 1: 100% complete
09:56:20.275443+08:00 0 .. Status code 1: Completed
09:56:20.275446+08:00 0 .. Status code 2: Disabling adaptive hash index.
09:56:20.286907+08:00 0 .. disabled adaptive hash index.
09:56:20.286939+08:00 0 .. Status code 2: 12% complete
09:56:20.286943+08:00 0 .. Status code 2: 25% complete
...
09:56:20.286963+08:00 0 .. Status code 2: 100% complete
09:56:20.286966+08:00 0 .. Status code 2: Completed
09:56:20.286970+08:00 0 .. Status code 3: Withdrawing blocks to be shrunken.
09:56:20.286974+08:00 0 .. buffer pool 0 : start to withdraw the last 65530 blocks.
09:56:20.288848+08:00 0 .. Status code 3: buffer pool 0 : withdrawing blocks. (52526/65530)
09:56:20.288865+08:00 0 .. buffer pool 0 : withdrew 52512 blocks from free list. Tried to relocate 14 pages (52526/65530).
...
09:56:20.288934+08:00 0 .. Status code 3: buffer pool 0 : withdrawing blocks. (52526/65530)
09:56:20.288937+08:00 0 .. buffer pool 0 : withdrew 0 blocks from free list. Tried to relocate 0 pages (52526/65530).
09:56:20.288941+08:00 0 .. buffer pool 0 : will retry to withdraw later.
09:56:20.288951+08:00 0 .. buffer pool 1 : start to withdraw the last 65530 blocks.
09:56:20.290815+08:00 0 .. Status code 3: buffer pool 1 : withdrawing blocks. (53263/65530)
09:56:20.290824+08:00 0 .. buffer pool 1 : withdrew 53249 blocks from free list. Tried to relocate 14 pages (53263/65530).  -- 嘗試釋放buffer pages失敗,將繼續(xù)重試
...
09:56:27.305382+08:00 0 .. buffer pool 7 : withdrew 0 blocks from free list. Tried to relocate 0 pages (54852/65530).
09:56:27.305385+08:00 0 .. buffer pool 7 : will retry to withdraw later.
09:56:27.305388+08:00 0 .. Will retry to withdraw 8 seconds later.
09:56:29.047052+08:00 0 .. Page cleaner took 12405ms to flush 83911 and evict 0 pages
09:56:35.305806+08:00 0 .. buffer pool 0 : start to withdraw the last 65530 blocks.
09:56:35.333782+08:00 0 .. Status code 3: buffer pool 0 : withdrawing blocks. (65530/65530)
09:56:35.333813+08:00 0 .. buffer pool 0 : withdrew 0 blocks from free list. Tried to relocate 13004 pages (65530/65530).
09:56:35.334245+08:00 0 .. buffer pool 0 : withdrawn target 65530 blocks.
09:56:35.334253+08:00 0 .. Status code 3: 12% complete
...
09:56:35.515813+08:00 0 .. Status code 3: 100% complete
09:56:35.515817+08:00 0 .. Status code 3: Completed
09:56:35.515821+08:00 0 .. Status code 4: Latching whole of buffer pool.
09:56:35.515824+08:00 0 .. Status code 4: 14% complete
09:56:35.515827+08:00 0 .. Status code 4: 28% complete
09:56:35.515838+08:00 0 .. Status code 4: 42% complete
09:56:35.515842+08:00 0 .. Status code 4: 57% complete
09:56:35.515845+08:00 0 .. Status code 4: 71% complete
09:56:35.515848+08:00 0 .. Status code 4: 85% complete
09:56:35.515851+08:00 0 .. Status code 4: 100% complete
09:56:35.515862+08:00 0 .. Status code 4: Completed
09:56:35.515865+08:00 0 .. Status code 5: Starting pool resize
09:56:35.515868+08:00 0 .. Status code 5: buffer pool 0 : resizing with chunks 16 to 8.
09:56:35.533458+08:00 0 .. buffer pool 0 : 8 chunks (65530 blocks) were freed.
09:56:35.533477+08:00 0 .. Status code 5: 12% complete
...
09:56:35.639495+08:00 0 .. Status code 5: buffer pool 7 : resizing with chunks 16 to 8.
09:56:35.655714+08:00 0 .. buffer pool 7 : 8 chunks (65530 blocks) were freed.
09:56:35.655732+08:00 0 .. Status code 5: 100% complete
09:56:35.655746+08:00 0 .. Completed to resize buffer pool from 17179869184 to 8589934592.
09:56:35.655750+08:00 0 .. Re-enabled adaptive hash index.
09:56:35.655755+08:00 0 .. Status code 5: Completed
09:56:35.655758+08:00 0 .. Status code 0: Completed resizing buffer pool at 230202  9:56:35.
09:56:35.655761+08:00 0 .. Status code 0: 100% complete

結(jié)合上一篇文章 MySQL 8.0不再擔(dān)心被垃圾SQL搞爆內(nèi)存,可以看到MySQL 8.0在各個細(xì)節(jié)方面做的是越來越好了。

延伸閱讀

  • Configuring InnoDB Buffer Pool Size, https://dev.mysql.com/doc/refman/8.0/en/innodb-buffer-pool-resize.html
  • Changes in MySQL 8.0.31, https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-31.html
  • statvar_Innodb_buffer_pool_resize_status_code, https://dev.mysql.com/doc/refman/8.0/en/server-status-variables.html

Enjoy GreatSQL ??

關(guān)于 GreatSQL

GreatSQL是由萬里數(shù)據(jù)庫維護的MySQL分支,專注于提升MGR可靠性及性能,支持InnoDB并行查詢特性,是適用于金融級應(yīng)用的MySQL分支版本。

相關(guān)鏈接: GreatSQL社區(qū) Gitee GitHub Bilibili

GreatSQL社區(qū):

社區(qū)博客有獎?wù)鞲逶斍椋篽ttps://greatsql.cn/thread-100-1-1.html

MySQL 8.0中InnoDB buffer pool size進(jìn)度更透明

技術(shù)交流群:

微信:掃碼添加GreatSQL社區(qū)助手微信好友,發(fā)送驗證信息加群。

MySQL 8.0中InnoDB buffer pool size進(jìn)度更透明文章來源地址http://www.zghlxwxcb.cn/news/detail-433512.html

到了這里,關(guān)于MySQL 8.0中InnoDB buffer pool size進(jìn)度更透明的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 如何設(shè)置innodb_buffer_pool_size

    innodb_buffer_pool_size 是MySQL InnoDB存儲引擎的一個重要參數(shù),它決定了InnoDB存儲引擎可以使用的內(nèi)存緩存池的大小。合理的設(shè)置 innodb_buffer_pool_size 可以提高M(jìn)ySQL數(shù)據(jù)庫的性能。以下是設(shè)置 innodb_buffer_pool_size 的步驟: 確認(rèn)MySQL的版本: 在MySQL客戶端中輸入以下命令: 如果MySQL的版本

    2024年02月06日
    瀏覽(16)
  • innodb_log_file_size 和 innodb_buffer_pool_size

    innodb_log_file_size 和 innodb_buffer_pool_size 是 MySQL 數(shù)據(jù)庫中 InnoDB 存儲引擎的兩個重要配置參數(shù)。它們對數(shù)據(jù)庫的性能和可靠性有著顯著的影響。 innodb_log_file_size 參數(shù)用于指定 InnoDB 重做日志文件(redo log files)的大小。重做日志是 InnoDB 用來保證事務(wù)的持久性和數(shù)據(jù)庫的恢復(fù)能力

    2024年03月19日
    瀏覽(24)
  • 【MySQL自身的性能優(yōu)化】InnoDB 的 Buffer Pool

    【MySQL自身的性能優(yōu)化】InnoDB 的 Buffer Pool

    有近倆個來月沒有寫博客了,也不知道自己在瞎忙活什么。之前我有寫過一篇關(guān)于 MySQL 的內(nèi)存池一篇博客 InnoDB體系架構(gòu)之內(nèi)存池(buffer pool),那是看楠哥視頻后總結(jié)出來的。然后現(xiàn)是看了《MySQL 是怎樣運行的》一書,也可能是基礎(chǔ)相比之前要好了些,理解的要好點了吧,就

    2024年01月20日
    瀏覽(20)
  • 一文帶你了解MySQL數(shù)據(jù)庫InnoDB_Buffer_Pool

    一文帶你了解MySQL數(shù)據(jù)庫InnoDB_Buffer_Pool

    前言 通過前邊的學(xué)習(xí)我們知道,對于使用 InnoDB 作為存儲引擎的表來說,不管是用于存儲用戶數(shù)據(jù)的索引(包括聚簇索引和二級索引),還是各種系統(tǒng)數(shù)據(jù),都是以頁的形式存放在表空間中的,而所謂的表空間只不過是 InnoDB 對文件系統(tǒng)上一個或幾個實際文件的抽象,也就是

    2024年02月01日
    瀏覽(92)
  • 【MySQL進(jìn)階-08】深入理解innodb存儲格式,雙寫機制,buffer pool底層結(jié)構(gòu)和淘汰策略

    【MySQL進(jìn)階-08】深入理解innodb存儲格式,雙寫機制,buffer pool底層結(jié)構(gòu)和淘汰策略

    MySql系列整體欄目 內(nèi)容 鏈接地址 【一】深入理解mysql索引本質(zhì) https://blog.csdn.net/zhenghuishengq/article/details/121027025 【二】深入理解mysql索引優(yōu)化以及explain https://blog.csdn.net/zhenghuishengq/article/details/124552080 【三】深入理解mysql的索引分類,覆蓋索引(失效),回表,MRR https://bl

    2024年02月05日
    瀏覽(25)
  • 2-3-5-3、InnoDB 的 Buffer Pool

    2-3-5-3、InnoDB 的 Buffer Pool

    對于使用 InnoDB 作為存儲引擎的表來說,不管是用于存儲用戶數(shù)據(jù)的索引(包括聚簇索引和二級索引),還是各種系統(tǒng)數(shù)據(jù),都是以頁的形式存放在表空間中的,而所謂的表空間只不過是 InnoDB 對文件系統(tǒng)上一個或幾個實際文件的抽象,也就是說數(shù)據(jù)說到底還是存儲在磁盤上的

    2023年04月08日
    瀏覽(13)
  • MySQL - Buffer Pool

    Buffer Pool 主要用于緩存數(shù)據(jù)庫表的數(shù)據(jù)頁,以提高數(shù)據(jù)庫的讀取性能: 緩存數(shù)據(jù)頁 :Buffer Pool 是 MySQL 中用于緩存數(shù)據(jù)頁的內(nèi)存區(qū)域。數(shù)據(jù)頁通常包含數(shù)據(jù)庫表的數(shù)據(jù),如行記錄等。當(dāng)查詢或讀取數(shù)據(jù)時,MySQL會首先查看Buffer Pool中是否已經(jīng)緩存了相應(yīng)的數(shù)據(jù)頁。如果數(shù)據(jù)頁在

    2024年02月07日
    瀏覽(18)
  • MySQL中的Buffer Pool

    MySQL中的Buffer Pool

    ????????Buffer Pool是數(shù)據(jù)庫的一個內(nèi)存組件,里面緩存了磁盤上的真實數(shù)據(jù),然后我們的Java系統(tǒng)對數(shù)據(jù)庫執(zhí)行的增刪改操作,其實主要就是對這個內(nèi)存數(shù)據(jù)結(jié)構(gòu)中的緩存數(shù)據(jù)執(zhí)行的。我們先來看一下下面的圖,里面就畫了數(shù)據(jù)庫中的Buffer Pool內(nèi)存組件。 ????????接著我

    2024年02月11日
    瀏覽(22)
  • 【MySQL】change buffer,buffer pool,redo log,bin log,undo log的作用

    當(dāng)需要更新一個數(shù)據(jù)頁時,如果數(shù)據(jù)頁在內(nèi)存中就直接更新,而如果這個數(shù)據(jù)頁還沒有在內(nèi)存中的話,在不影響數(shù)據(jù)一致性的前提下,InnoDB 會將這些更新操作緩存在 change buffer 中,這樣就不需要從磁盤中讀入這個數(shù)據(jù)頁了。 在下次查詢需要訪問這個數(shù)據(jù)頁的時候,將數(shù)據(jù)頁

    2024年02月16日
    瀏覽(27)
  • mysql undo log、redo log、binlog、mvcc、Buffer Pool的關(guān)系

    ????????MySQL中的undo log、redo log、binlog和MVCC(多版本并發(fā)控制)是數(shù)據(jù)庫管理系統(tǒng)中的 重要概念,它們各自有不同的作用和關(guān)系。 Buffer Pool(緩沖池): 作為InnoDB存儲引擎的核心組件,Buffer Pool用于緩存從磁盤讀取的數(shù)據(jù)頁。所有的數(shù)據(jù)修改首先發(fā)生在內(nèi)存中的緩沖池里

    2024年02月02日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包