首页 > 数据库技术 > 详细

mysql 同时支持多个BufferPool

时间:2014-12-24 06:31:55      阅读:389      评论:0      收藏:0      [点我收藏+]

   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

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!