`
v5browser
  • 浏览: 1138140 次
社区版块
存档分类
最新评论

mysql 优化技巧心得一(key_buffer_size设置).

 
阅读更多

1: 对于mysql来说,登录的时候,加一个参数

#mysql -u root -p --prompt="\\u@\\d \\r:\\m:\\s>"

--prompt 是加一些登录后的参数,上面参数 u 是加入登录的用户名, d 是登录后选择后(use dbname)的数据库表, r m s 是时间


2: 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之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 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 table_cache

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

    save-mysql.py

    save_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_mysql.pysave_...

    save-mysql-redis.py

    save_mysql_redis.pysave_mysql_redis.pysave_mysql_redis.pysave_mysql_redis.pysave_mysql_redis.pysave_mysql_redis.pysave_mysql_redis.pysave_mysql_redis.pysave_mysql_redis.pysave_mysql_redis.pysave_mysql...

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

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

    mysql高级视频教程百度云(2019).txt

    61.MySQL高级_如何锁定一行.avi 60.MySQL高级_间隙锁危害.avi 59.MySQL高级_索引失效行锁变表锁.avi 58.MySQL高级_行锁演示答疑补充.avi 57.MySQL高级_行锁案例讲解.avi 56.MySQL高级_行锁理论.avi 55....

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

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

    尚硅谷Java视频教程_MySQL高级视频

    · 00.尚硅谷_MySQL高级_源码、课件 · 01.尚硅谷_MySQL高级_课程简介 · 02.尚硅谷_MySQL高级_MySQL简介 · ...尚硅谷_MySQL高级_如何锁定一行 · 62.尚硅谷_MySQL高级_行锁总结 · 63.尚硅谷_MySQL高级_主从复制

    MySql.Data.zip_MYSQL_MySql.Data_c# MySql.Data.dll_c# mysql_数据库

    mysql.data.dll是C#操作MYSQL的驱动文件,是c#连接mysql必要插件,使c#语言更简洁的操作mysql数据库

    浅析在线调整 innodb_buffer_pool_size

    浅析在线调整 innodb_buffer_pool_size 作者:zhou mysql版本:5.7 先介绍一下 buffer pool: 在innodb存储引擎中数据访问以page为单位,page也是innodb管理数据库的最小磁盘单位,每个page的默认大小为16KB(可以通过...

    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-server-5.1.66-2.el6_3.x86_64 安装包

    mysql-server-5.1.66-2.el6_3.x86_64.rpm 安装包及其依赖包

    MySql.Data.rar_MYSQL_MySql.Data_mysql c_mysql c++_mysql databas

    MySql库文件,在visual studio 中引用后可访问,mysql数据库。

    mysql数据库安装报错VCRUNTIME140_1.dll

    mysql数据库安装报错VCRUNTIME140_1.dll插件 放在Bin路径开启MySQL就不会有报错了

Global site tag (gtag.js) - Google Analytics