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