日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

作者:Vadim Tkachenko

翻譯:管長龍

本文來源:https://www.percona.com/blog/2020/08/13/how-many-innodb_buffer_pool_instances-do-you-need-in-MySQL-8/

我曾經在文章《MySQL 5.7 安裝后的性能調優》(文末鏈接)和《MySQL 101:調整 MySQL 性能的參數》(文末鏈接)中談到過 innodb_buffer_pool_instances 這個參數 ,建議使用值為“8”,但我不能說這個值是否足夠好。因此,讓我們看看在以下情況下,使用不同的 innodb_buffer_pool_instances 值將獲得什么結果。

我將使用 sysbench oltp_read_write 基準測試顯示為帕累托圖。我將為大小為 100 GB 的數據庫設置 innodb_buffer_pool_size = 25GB,因此在 buffer_pool 空間上會有競爭,這將是 IO 密集型情景情況。

基準測試

硬件配置列表:

System | Supermicro; SYS-F619P2-RTN; v0123456789 (Other)

Platform | linux

Release | Ubuntu 18.04.4 LTS (bionic)

Kernel | 5.3.0-42-generic

Architecture | CPU = 64-bit, OS = 64-bit

Threading | NPTL 2.27

SELinux | No SELinux detected

Virtualized | No virtualization detected

# Processor ##################################################

Processors | physical = 2, cores = 40, virtual = 80, hyperthreading = yes

Models | 80xIntel(R) Xeon(R) Gold 6230 CPU @ 2.10GHz

Caches | 80x28160 KB

# Memory #####################################################

Total | 187.6G

通過 SATA SSD INTEL SSDSC2KB960G8(英特爾企業級 SSD D3-S4510)上的存儲。

簡短的設置概述:

  • 數據無法存儲到內存中(數據大小為?100GB,服務器上的內存為 188GB,我們使用 O_DIRECT 為 MySQL innodb_buffer_pool_size 分配了 25GB,因此即使服務器上有很多內存,也不會超過指定的 25GB 使用)。
  • 存儲上工作主要為讀寫密集型(將從存儲中進行讀取),并且在 MySQL 中進行了完全的 ACID 兼容和數據安全設置。
  • 對于 SATA SSD 存儲,innodb_io_capacity 將設置為 2000,而 innodb_io_capacity_max 為 4000。
  • 將 innodb_buffer_pool_instances 測試以下值:1、2、4、8、16、32、64。
  • innodb_buffer_pool_instances = 64,也是 MySQL 允許的最大值。

測試命令:

sysbench oltp_read_write --threads=150 --time=10000

--tables=40 --table_size=10000000 --mysql-host=127.0.0.1

--mysql-user=sbtest --mysql-password=sbtest

--max-requests=0 --report-interval=1 --mysql-db=sbtest

--mysql-ssl=off --create_table_options=DEFAULT CHARSET=utf8mb4

--report_csv=yes --rand-type=pareto run

基準測試將運行三個小時,每 1 秒報告一次吞吐量。

SATA SSD 上的結果

讓我們看看每個 innodb_buffer_pool_instances 分別有什么結果:

innodb_buffer_pool_instances=1

innodb_buffer_pool_instances=2

innodb_buffer_pool_instances=4

innodb_buffer_pool_instances=8

innodb_buffer_pool_instances=16

innodb_buffer_pool_instances=32

innodb_buffer_pool_instances=64

似乎顯而易見的是,隨著我們增加 innodb_buffer_pool_instances 的值,它對吞吐量的變化產生了積極的影響。我們可以將結果壓縮到一個圖表中,以便仔細查看:

如果要比較吞吐量和偏差,請比較最近 2500 秒的結果:

因此,實際上 innodb_buffer_pool_instances = 64 顯示出最佳的吞吐量和較小的可變性。從可變性的角度來看,建議的 innodb_buffer_pool_instances = 8 似乎比 1-4 的值更好,但不會產生最佳的吞吐量。

最后的想法

對于這種特殊情況,innodb_buffer_pool_instances = 64 是最佳選擇,但我仍然不建議一種可靠的方法來找到最佳值。較小的 1-4 似乎會產生很大的可變性甚至停滯,因此從 8 開始是一個不錯的選擇。

分享到:
標簽:MySQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定