`
onedada
  • 浏览: 100672 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

mysql Key_buffer_size参数的设置

 
阅读更多

本文转载自:   http://database.51cto.com/art/201010/229939.htm

 

 

在mysql数据库中,mysql key_buffer_size是对MyISAM表性能影响最大的一个参数,下面就将对mysql Key_buffer_size参数的设置进行详细介绍,供您参考。

下面一台以MyISAM为主要存储引擎服务器的配置:
mysql> show variables like 'key_buffer_size';
+-----------------+------------+
| Variable_name | Value |
+-----------------+------------+
| key_buffer_size | 536870912 |
+-----------------+------------+
分配了512MB内存给mysql key_buffer_size,我们再看一下key_buffer_size的使用情况:
mysql> show global status like 'key_read%';
+------------------------+-------------+
| Variable_name | Value |
+------------------------+-------------+
| Key_read_requests | 27813678764 |
| Key_reads | 6798830 |
+------------------------+-------------+
一共有27813678764个索引读取请求,有6798830个请求在内存中没有找到直接从硬盘读取索引,计算索引未命中缓存的概率:

key_cache_miss_rate = Key_reads / Key_read_requests * 100%

比如上面的数据,key_cache_miss_rate为0.0244%,4000个索引读取请求才有一个直接读硬盘,已经很BT 了,key_cache_miss_rate在0.1%以下都很好(每1000个请求有一个直接读硬盘),如果key_cache_miss_rate在 0.01%以下的话,key_buffer_size分配的过多,可以适当减少。
MySQL服务器还提供了key_blocks_*参数:
mysql> show global status like 'key_blocks_u%';
+------------------------+-------------+
| Variable_name | Value |
+------------------------+-------------+
| Key_blocks_unused | 0 |
| Key_blocks_used | 413543 |
+------------------------+-------------+
Key_blocks_unused 表示未使用的缓存簇(blocks)数,Key_blocks_used表示曾经用到的最大的blocks数,比如这台服务器,所有的缓存都用到了,要么 增加key_buffer_size,要么就是过渡索引了,把缓存占满了。比较理想的设置:
Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100% ≈ 80%

 

 

 

 

 

分享到:
评论

相关推荐

    mysql Key_buffer_size参数的优化设置

    可以设置多个key_buffer,当设置不是默认key_buffer为0时,mysql会把缓存的索引块移到默认的key_buffer中去并删除不再使用的索引块。Myisam表中只能cache索引块,不能cache数据块。 原本描述: Index blocks for ...

    mysql read_buffer_size 设置多少合适

    key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 458624 K read_buffer_size:是MySQL读入缓冲区大小。对表进行顺序扫描的请求将分配一个读入缓冲区,MySQL会为它分配一段内存缓冲区。...

    优化mysql之key_buffer_size设置

    通过检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads /key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE ‘key_read%...

    mysql优化的重要参数 key_buffer_size table_cache

    对于使用Myisam存储引擎来说,主要有key_buffer_size和table_cache两个参数。对于InnoDB引擎来说主要还是以innodb_开始的参数,也很好辨认。 查看MySQL参数,可以使用show variables和show status命令查看,前者查看...

    Mysql优化调优中两个重要参数table_cache和key_buffer

    本文根据作者的一点经验,讨论了Mysql服务器优化中两个非常重要的参数,分别是table_cache,key_buffer_size。 table_cache指示表高速缓存的大小。当Mysql访问一个表时,如果在Mysql表缓冲区中还有空间,那么这个表...

    Max-Liuhu#keeplearning#mysql配置文件之线程并发优化innodb_buffer_pool_size1

    MyISAM可以在默认的 key_buffer_size 设置下运行的可以,然而Innodb在默认的 innodb_buffer_pool_size 设置下却跟

    MySQL8.0内存相关参数总结

    也就是:innodb_buffer_pool_size + innodb_log_buffer_size + thread_cache_size +table_open_cache + table_definition_cache +key_buffer_size + max_connections *( thread_stack+ sort_buffer_size+join_...

    可以改善mysql性能的InnoDB配置参数

    而由于InnoDB是一个健壮的事务型存储引擎,已经有10多年的历史,一些重量级的...推荐此参数至少设置为2MB,实际上,是需要根据项目的InnoDB表的数目相应地增加 2.innodb_data_pool_size 此参数类似于MySQL的key_bu

    MySQL不停地自动重启的解决方法

    主要给大家介绍了关于MySQL不停地自动重启的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    mysql数据库my.cnf配置文件

    # 可以知道key_buffer_size设置是否合理。比例key_reads/key_read_requests应该尽可能的低, # 至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE 'key_read%'获得)。注意:该参数值设置的过大反而会是...

    MySQL因配置过大内存导致无法启动的解决方法

    需要调整 MySQL 配置文件 my.cnf 中的 innodb_buffer_pool_size、key_buffer_size 的大小设置,适当的调大内存分配,一般调整为系统内存的一半 先使用 free -m 查看下系统内存大小,查看是 1G 内存 那么 vi /etc/...

    mysqld-nt: Out of memory (Needed 1677720 bytes)解决方法

    今天发现网站有点慢,发现mysql日志中提示mysqld-nt: Out of memory (Needed 1677720 bytes),经排查是...key_buffer、key_buffer_size、read_buffer_size、sort_buffer_size记住了有这个参数的就改,没有也不要添加

    my.cnf(my.ini)重要参数优化配置说明

    Key_buffer_size,可以设置为内存的30%-40%左右。通过show variables like ‘%key_buffer_size%’; 通过 show global status like ‘%key_blocks_unused%’ 查看是否还有剩余,如果剩余很多,就不需要再加大key_...

    mysql 数据库中my.ini的优化 2G内存针对站多 抗压型的设置

    物理内存越大,设置就越大.默认为2402,调到512-1024最佳 innodb_...thread_concurrency=8 你的服务器CPU有几个就设置为几,建议用默认一般为8 key_buffer_size=256M 默认为218 调到128最佳 tmp_table_size=64M 默认为

    Mysql数据库管理系统优化方案.doc

    28800 //服务器在关上它之前在洋交互连接上等待的时间 join_buffer_size current value:131072 //用与全部连接的缓冲区大小 key_buffer_size current value:1048540 //用语索引块的缓冲区的大小,增加它可以更好的...

    mysql myisam 优化设置设置

    myisam_max_[extra]_sort_file_size足够大 delay_key_write减少io,提高写入性能 bulk_insert_buffer_size concurrent_insert 设置为2 read_rnd_buffer_size random scan 使用 read_buffer_size 顺序扫描表使用 key ...

Global site tag (gtag.js) - Google Analytics