table_open_cache指定表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。
通过检查峰值时间的状态值Open_tables和Opened_tables,可以决定是否需要增加table_open_cache的值。
如果你发现open_tables等于table_open_cache,并且opened_tables在不断增长,那么你就需要增加table_open_cache的值了(上述状态值可通过SHOW GLOBAL STATUS LIKE ‘Open%tables’获得)。
注意,不能盲目地把table_open_cache设置成很大的值,设置太大超过了shell的文件描述符(通过ulimit -n查看),造成文件描述符不足,从而造成性能不稳定或者连接失败。

测试环境:腾讯云CDB,内存4000M,在控制台查看到table_open_cache=512,监测table_open_cache设置是否合理,是否需要优化。

发现open_tables等于table_open_cache,都是512,说明mysql正在将缓存的表释放以容纳新的表,此时可能需要加大table_open_cache的值,4G内存的机器,建议设置为2048
比较适合的值:
Open_tables / Opened_tables >= 0.85
Open_tables / table_open_cache <= 0.95
如果对此参数的把握不是很准,有个很保守的设置建议:把MySQL数据库放在生产环境中试运行一段时间,然后把参数的值调整得比Opened_tables的数值大一些,并且保证在比较高负载的极端条件下依然比Opened_tables略大。

最新文章

  1. 【JAVA】基于MVC架构Java技术荟萃案例演练
  2. [转]《Hadoop基础教程》之初识Hadoop
  3. django1.9.6 使用 DjangoUeditor (python3.5)
  4. From 《Soft Skill》——Chapter 69. My personal success book list
  5. SQL自增长的数据插入
  6. C#中 ? 和?? 的用法
  7. FreeBSD更换默认csh为bash
  8. Linux-0.11内核源代码分析系列:内存管理get_free_page()函数分析
  9. access 数据更新password列为空出问题?
  10. Windows10笔记本双显卡导致的启动黑屏解决办法之一
  11. linux基础命令整理(一)
  12. Logstash+Kibana部署配置
  13. JS中获取session中传过来的值对象
  14. asp.net core系列 55 IS4结合Identity密码保护API
  15. sql删除数据库重复字段的行
  16. go语言基本语法
  17. jmeter 压力测试(一)一个简单的登录
  18. BZOJ4569 SCOI2016萌萌哒(倍增+并查集)
  19. PHP学习-类
  20. 设置SVN服务器

热门文章

  1. &lt;a&gt;标签里面直接嵌套图片,&lt;img&gt;下面出现一小段空白的原因
  2. 对ES6的一次小梳理
  3. loadrunner&#160;脚本开发-字符串编码转换
  4. Android View体系(六)从源码解析Activity的构成
  5. 安卓界面之Toolbar上手
  6. list中放map的几种方式
  7. linux系统运行状态检查
  8. [cb]Unity 关卡编辑器 开发
  9. Python实例---模拟微信网页登录(day5)
  10. 微信小程序搭建和开发相关指引