您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“怎么配置MySQL內(nèi)存buffer pool”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
內(nèi)存buffer pool
MySQL在啟動(dòng)時(shí)默認(rèn)被分配給512MB RAM;其中InnoDB buffer pool 用于緩存表數(shù)據(jù)、索引及其他的一些輔助緩沖池,為了高效的大量讀,buffer pool劃分pages;為了高效進(jìn)行緩存管理,buffer pool 應(yīng)用多種LRU(least recently used)算法,將相鄰的page串成鏈,管理冷熱數(shù)據(jù)。
1) 配置InnoDB Buffer Pool Size
innodb_buffer_pool_size為控制buffer pool大小的參數(shù),通常推薦系統(tǒng)內(nèi)存的50~70%。默認(rèn)值128M。innodb_buffer_pool_size參數(shù)5.7后可以在線調(diào)整,必須等于或整數(shù)倍innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances;
例如:
mysql> SET GLOBAL innodb_buffer_pool_size=402653184;
or my.cnf
[mysqld]
innodb_buffer_pool_size=402653184
l innodb_buffer_pool_chunk_size參數(shù)默認(rèn)值128M,只能在啟動(dòng)時(shí)調(diào)整(命令行或者配置文件),且以1M為單位;
shell> mysqld --innodb-buffer-pool-chunk-size=134217728
or my.cnf
[mysqld]
innodb_buffer_pool_chunk_size=134217728
innodb_buffer_pool_instances default value is 1;
l innodb_buffer_pool_instances 默認(rèn)為8 (or 1 if innodb_buffer_pool_size < 1GB),如果是Windows或者32-bit platforms,默認(rèn)值為系統(tǒng)自動(dòng)設(shè)置(autosized);其作用是劃分buffer pool為多個(gè)區(qū),提高并發(fā)效率。
2) 查詢狀態(tài)
mysql> SHOW STATUS WHERE Variable_name='InnoDB_buffer_pool_resize_status';
Buffer pool resizing progress is also logged in the server error log
3) 預(yù)載入buffer pool
要在服務(wù)器啟動(dòng)時(shí)預(yù)載入buffer pool,請(qǐng)啟用選項(xiàng):
innodb_buffer_pool_dump_at_shutdown 和innodb_buffer_pool_load_at_startup。
“怎么配置MySQL內(nèi)存buffer pool”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。