亲爱的,我已经通过了这个文章,但是我无法在CentOS6.2上找到名为'/proc/user_beancounters'的文件,是否有任何标准计算来根据avaiable设置my.cnf以提高查询的性能。
如果有任何方法,那么假设我得到了8GB RAM,那么MyISAM和Innodb的配置将是什么,以获得最佳的可用内存性能呢?
发布于 2017-01-28 19:04:52
我必须查找/proc/user_bean计数器,它似乎是对OpenVz实现的Linux的扩展。我怀疑它是否会出现在普通的CentOS Linux中。
首先,我推荐你不要使用MyISAM。它不是酸存储引擎,它使用表锁定。MyISAM的唯一好处是它可以将数据存储在比InnoDB更少的磁盘空间中(取决于您的表结构)。
没有神奇的调优值可以使所有工作负载优化。如果有,它们将不是可调的选项,它们只是预先设置在正确的值上。
通常情况下,您拥有的数据比可用RAM中的数据还要多,因此,考虑到服务器上RAM的其他用途,折衷方案是尽可能高地设置innodb_buffer_pool_size。例如,如果您有Apache或Java应用程序、memcached或其他RAM用户,请确保他们有他们需要的东西。
对数据运行所需的查询也是一个重要的考虑因素。如果您有大量的查询可以一直扫描您的表,那么很难将它们保存在缓冲池中。但是,典型的OLTP工作负载集中在“热点”上,并在80%的时间内查询20%的数据。缓存在这里有很大帮助,因为最频繁请求的数据会被缓存。
对于OLAP工作负载,很难进行优化,因为您的查询可能扫描大量数据库,而且您的数据库比可用的RAM还要大。
因此,基本准则是:
innodb_buffer_pool_size。人们经常猜测80%的可用内存。请记住,缓冲池比您设置的值使用的值约为+10%。发布于 2017-01-28 18:38:00
8GB内存(任何操作系统、任何硬件),InnoDB和MyISAM都没有在机器上运行的其他应用程序:
key_buffer_size = 800M -- for caching MyISAM indexes
innodb_buffer_pool_size = 2500M -- for caching InnoDB data and indexes如果您有其他应用程序运行,这些数字可能需要降低一些。
http://mysql.rjweb.org/doc.php/memory。
将其他事情置于默认状态,直到出现一些特定的问题。
/proc/包含系统信息,而不是文件本身。什么是user_beancounters?
https://stackoverflow.com/questions/41888358
复制相似问题