mysql 開發進階篇系列 18 MySQL Server(innodb_buffer_pool_size)

来源:https://www.cnblogs.com/MrHSR/archive/2018/08/09/9449810.html
-Advertisement-
Play Games

從這篇開始,講innodb存儲引擎中,對於幾個重要的伺服器參數配置。這些參數以innodb_xx 開頭。 1. innodb_buffer_pool_size的設置 這個參數定義了innodb存儲引擎的表數據和索引數據的最大記憶體緩衝區大小,和myisam不同,myisam的key_buffer_si ...


從這篇開始,講innodb存儲引擎中,對於幾個重要的伺服器參數配置。這些參數以innodb_xx 開頭。

1. innodb_buffer_pool_size的設置

         這個參數定義了innodb存儲引擎的表數據和索引數據的最大記憶體緩衝區大小,和myisam不同,myisam的key_buffer_size只緩存索引鍵,而innodb_buffer_pool_size是同時為數據塊和索引塊做緩存的。這個特性與oracle是一樣的,這個值設得越高,訪問表中數據需要的磁碟i/o就越少(物理I/O)。在一個專用的資料庫伺服器上,可以設置這個參數達機器物理記憶體大小的50--80%。考慮點:在單獨給 MySQL 使用的主機里,記憶體分配還包括系統使用,線程獨享,myisam緩存等。還有允許的併發連接數。還有建議不要把它設置得太大,因為對物理記憶體的競爭可能在操作系統上導致記憶體調度。

-- innodb緩存區大小(kb)
SHOW VARIABLES LIKE 'innodb_buffer_pool_size';

  SELECT 268435456/1024.0/2014.0=130M。

查看記憶體大小:
[root@xuegod64 ~]# cat /proc/meminfo

    

  上面記憶體約等於2031912/1024.0=1984M。
2. buffer_pool 運行參數

-- 下麵是buffer_pool 運行相關參數
SHOW STATUS LIKE  'Innodb_buffer_pool_%';

  

Innodb_buffer_pool_pages_total 

緩存池頁總數目。
共占用了16382 頁 。單位page

Innodb_buffer_pool_pages_free

緩存池剩餘的頁數目。
在16382 頁中有2000頁沒有使用。 單位page

Innodb_buffer_pool_pages_data

緩存池中包含數據的頁的數目,包括臟頁。
14273個頁含有數據。單位page

Innodb_buffer_pool_read_requests

innodb進行邏輯讀的數量。
529670886次請求讀。單位次數

Innodb_buffer_pool_reads

進行邏輯讀取時無法從緩衝池中獲取而執行單頁讀取的次數。
941147次是物理I/0讀取。單位次數

Innodb_buffer_pool_write_requests

寫入 InnoDB 緩衝池的次數。
48606702次請求寫入。單位次數

Innodb_buffer_pool_read_ahead_rnd

記錄進行隨機讀的時候產生的預讀次數。
0次

Innodb_buffer_pool_read_ahead

預讀到innodb buffer pool里次數。
1465370次。  單位page

Innodb_buffer_pool_read_ahead_evicted

預讀的頁數,但是沒有被讀取就從緩衝池中被替換的頁的數量,一般用來判斷預讀的效率。 0次

Innodb_buffer_pool_wait_free

數據要寫入buffer pool的時候,需要等待空閑頁的次數。是指緩存池裡沒有乾凈頁的時候讀取或創建頁,要先等待頁被刷新。
2927次。 單位次數。

Innodb_buffer_pool_pages_dirty

buffer pool緩存池中臟頁的數目。
0次。單位是page

Innodb_buffer_pool_pages_flushed

buffer pool緩存池中刷新頁請求的數目。
15437744次。單位page

Innodb_buffer_pool_pages_misc

buffer pool緩存池中當前頁已經被用作管理用途或hash index而不能用作為普通數據頁的數目。
109次。單位page

Innodb_buffer_pool_pages_old

在舊區域存放著多少個頁。
5249次。單位page

Innodb_buffer_pool_pages_made_young

移動到新區域的有多少個頁。
353059次。單位page

Innodb_buffer_pool_pages_made_not_young

沒有移動到新區域的有多少個頁。
31725809次。單位page

  Buffer Pool使用率:14328.0/16382.0 *100=87.46%
  緩存讀命中率: (529670886-941147)/529670886.0 *100 =99.82%
  實際占用空間是:16382 *16(頁單位)*1024=268402688 位元組。 上面給buffer_pool_size分配的是268435456位元組。

3. 設置buffer_pool參數

-- 從134217728設置成268435456 (另一臺mysql)
  SET GLOBAL innodb_buffer_pool_size= 268435456

  由於SHOW VARIABLES下的參數都是靜態值。當mysql重啟時,上面的緩存設置將失效。

[root@xuegod64 ~]# systemctl stop mysqld.service
[root@xuegod64 ~]# systemctl start  mysqld.service

  重啟後還是134217728.如下圖
  

  要永久改變,需要在操作系統里使用vim my.cnf 來修改. 如下圖所示, 去掉#重新定義值。

  

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 前言 當我們在滲透Linux主機時,反彈一個交互的shell是非常有必要的。在搜索引擎上搜索關鍵字“Linux 反彈shell”,會出現一大堆相關文章,但是其內容不但雷同,而且都僅僅是告訴我們執行這個命令就可以反彈shell了,卻沒有一篇文章介紹這些命令究竟是如何實現反彈shell的。既然大牛們懶得 ...
  • 一.鏡像下載: 根據需求下載自己需要的版本 從官網下載kali 2018.2 的安裝包:https://www.kali.org/downloads/ 二.燒錄: 這裡推薦用 win32 disk imager 嘗試了好幾款燒錄工具,這個是相對最穩定的 打開win32後 第一步 選中鏡像位置 ,第二 ...
  • 1.實驗目的 mysql伺服器作為生產環境中使用最廣泛的資料庫軟體,以其開源性,穩定性而廣泛使用,但同時由於數據存儲,讀寫頻率高,極易造成資料庫出錯,從而給企業造成不可輓回的損失,我們除了做好資料庫的備份工作外,同時,還應該解決資料庫伺服器的單點故障問題。 2.搭建環境 兩台 mysql 伺服器 1 ...
  • Windows 10包含各種通用應用程式,並且沒有簡單的方法可以將它們隱藏在新的“開始”菜單中的“所有應用程式”視圖中。您可以卸載它們,但Microsoft不允許您以通常的方式輕鬆卸載它們。 Windows 10包含各種通用應用程式,並且沒有簡單的方法可以將它們隱藏在新的“開始”菜單中的“所有應用程 ...
  • 悲觀鎖(Pessimistic Lock) 顧名思義,就是很悲觀,每次去拿數據的時候都認為別人會修改,所以每次在拿數據的時候都會上鎖,這樣別人想拿這個數據就會block直到它拿到鎖。傳統的關係型資料庫裡邊就用到了很多這種鎖機制,比如行鎖,表鎖等,讀鎖,寫鎖等,都是在做操作之前先上鎖。 樂觀鎖(Opt ...
  • 占座 ...
  • 一、聯結表 數據仍使用前文中的數據。 1、子查詢 作為子查詢的SELECT語句只能查詢單個列。企圖檢索多個列將返回錯誤。 2、創建鏈接 SELECT <select_list> FROM A LEFT JOIN B ON A.key = B.key UNION SELECT <select_list ...
  • MySQL的主從複製 部署環境: MySQL master 192.168.40.21 MySQL slave 192.168.40.22 思路: 當主MySQL上進行數據上的操作或者變化時,主MySQL上的二進位日誌文件(binary log)會隨之產生變化,這時從MySQL上開啟I/O線程和sq ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...