码迷,mamicode.com
首页 > 数据库 > 详细

mysql 同时支持多个BufferPool

时间:2014-12-24 06:34:28      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:bufferpool

   InnoDB 用来缓冲它的数据和索引的内存缓冲区的大小,主要是innodb_buffer_poor_size来设置,这个参数设置的越高,访问表中需要磁盘I/O就越少,如果是一台专用的数据库服务器,那么可以设置为机器内存大小的70%--80%,

    InnoDB_Buffer_Pool缓冲池复制管理这free list,flush_list,LRU,如果过大达到几十G,如果某个线程更新资源池,可以造成其它线程等待的瓶颈,

   在mysql5.5中,可以增加InnDB_buffer_Pool实例的个数,通过innodb_buffer_pool_instances 参数来增加InnoDB_Buffer_Pool实例的参数,并且使用哈希函数将读取缓存的数据页随机分配到一个缓冲池里面,这样缓冲区实例就自己管理自己的了。就不会造成等待的瓶颈了。

  innodb_buffer_pool_size必须大于1GB,生成InnoDB_buffer_pool多实例才有效,最多支持64个InnoDB_Buffer_Pool实例,通过在my.cnf添加innodb_buffer_pool_instances=3来添加,调整后,通过命令show engine innodb status \G;可以看到

    

mysql 同时支持多个BufferPool

标签:bufferpool

原文地址:http://itsoar.blog.51cto.com/8915220/1594008

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!