資料庫緩衝池實例個數的作用,簡述資料庫連接池的優點

本文目錄一覽:

mysql 參數調優(11)之innodb_buffer_pool_instances設置多個緩衝池實例

MySQL 5.5引入了緩衝實例作為減小內部鎖爭用來提高MySQL吞吐量的手段。在5.5版本這個對提升吞吐量幫助很小,然後在MySQL 5.6版本這個提升就非常大了,所以在MySQL5.5中你可能會保守地設置innodb_buffer_pool_instances=4,在MySQL 5.6和5.7中你可以設置為8-16個緩衝池實例。設置後觀察會覺得性能提高不大,但在大多數高負載情況下,它應該會有不錯的表現。對了,不要指望這個設置能減少你單個查詢的響應時間。這個是在高並發負載的伺服器上才看得出區別。比如多個線程同時做許多事情。

5.7、8.0 下INNODB_BUFFER_POOL_INSTANCES默認為1,若mysql存在高並發和高負載訪問,設置為1則會造成大量線程對BUFFER_POOL的單實例互斥鎖競爭,這樣會消耗一定量的性能的。

pool_instances 可以設置為cpu核心數,它的作用是:

1)對於緩衝池在數千兆位元組範圍內的系統,通過減少爭用不同線程對緩存頁面進行讀寫的爭用,將緩衝池劃分為多個單獨的實例可以提高並發性。可以類比為 java中的 ThreadLocal 線程本地變數 就是為每個線程維護一個buffer pool實例,這樣就不用去爭用同一個實例了。相當於減少高並發下mysql對INNODB_BUFFER緩衝池的爭用。

2)使用散列函數將存儲在緩衝池中或從緩衝池讀取的每個頁面隨機分配給其中一個緩衝池實例。每個緩衝池管理自己的空閑列表, 刷新列表, LRU和連接到緩衝池的所有其他數據結構,並受其自己的緩衝池互斥量保護。

資料庫緩衝池有什麼作用

其實就是一個存儲轉發的作用,如果你訪問的信息在緩衝池就直接在緩衝裡面拿,這對於降低資料庫壓力,提高資料庫性能和速度有明顯的效果

資料庫實例的作用是什麼?

資料庫實例由各種高速緩衝池以及後台進程組成。

資料庫是數據以某中方式組織起來的數據集合,物理存儲為資料庫文件,資料庫實例負責維護,訪問來這些數據。

打個比方:

你在文本中有一些數據(資料庫文件)需要計算,你就要寫一個程序(後台進程),計算這些數據,如果計算中有源中間結果,你就需要把數據的中間結果放到內存中的一個區域中(高速緩衝池),然後再取出這些中間結果計算。

當然這只是打個比方,實際資料庫實例要處理的東西要多得多。

舉個很形象的例子(呵呵):

一個實例就像一台絞肉機,每台絞肉機都可以絞肉。

大塊的肉放進去做為輸入(T-SQL),碎肉擠出來做為輸出(結果集)。

你每運行一次安裝程序,只能裝一台絞肉機。

當然,你可以在伺服器上裝好幾台絞肉機,但是必須有不同的名字:絞肉機A,絞zhidao肉機B…

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/160436.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-21 01:13
下一篇 2024-11-21 01:14

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python 常用資料庫有哪些?

    在Python編程中,資料庫是不可或缺的一部分。隨著互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的資料庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python生成隨機數的應用和實例

    本文將向您介紹如何使用Python生成50個60到100之間的隨機數,並將列舉使用隨機數的幾個實際應用場景。 一、生成隨機數的代碼示例 import random # 生成50個6…

    編程 2025-04-29
  • openeuler安裝資料庫方案

    本文將介紹在openeuler操作系統中安裝資料庫的方案,並提供代碼示例。 一、安裝MariaDB 下面介紹如何在openeuler中安裝MariaDB。 1、更新軟體源 sudo…

    編程 2025-04-29
  • Python計算中文字元個數

    本文將從多個方面對Python計算中文字元個數進行詳細的闡述,包括字元串長度計算、正則表達式統計和模塊使用方法等內容。 一、字元串長度計算 在Python中,計算字元串長度是非常容…

    編程 2025-04-29
  • 資料庫第三範式會有刪除插入異常

    如果沒有正確設計資料庫,第三範式可能導致刪除和插入異常。以下是詳細解釋: 一、什麼是第三範式和範式理論? 範式理論是關係資料庫中的一個規範化過程。第三範式是範式理論中的一種常見形式…

    編程 2025-04-29
  • Python實現統計100以內能被7整除的數字個數

    本文將從以下幾個方面詳細闡述如何使用Python來實現統計100以內能被7整除的數字個數。具體內容包括: 一、range函數 Python中的range函數是用來生成一個數字序列的…

    編程 2025-04-28
  • Python計算個數函數用法介紹

    本文將對Python中計算個數的函數進行詳細講解,包括內置函數、常用模塊和自定義函數,並給出完整的代碼示例。 一、內置函數 Python內置了多個計算個數的函數,包括len()、c…

    編程 2025-04-28
  • Python中一次輸入兩個數

    在Python中,一次輸入兩個數是一種常見的需求。本文將從多個方面闡述Python中一次輸入兩個數的實現方法。 一、input函數 Python中的input函數可以接受用戶輸入的…

    編程 2025-04-28
  • leveldb和unqlite:兩個高性能的資料庫存儲引擎

    本文將介紹兩款高性能的資料庫存儲引擎:leveldb和unqlite,並從多個方面對它們進行詳細的闡述。 一、leveldb:輕量級的鍵值存儲引擎 1、leveldb概述: lev…

    編程 2025-04-28

發表回復

登錄後才能評論