查看: 5704|回复: 5

[原创] 纯粹的MyISAM纯粹引擎表,tmp_table_size是线程独享吗,如果是的话,参数如何设置呢?

[复制链接]
论坛徽章:
3
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:332012新春纪念徽章
日期:2012-01-04 11:56:44
跳转到指定楼层
1#
发表于 2011-1-13 17:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
根据通用的mysql内存计算公司:  
1) 系统使用,假设预留800M;
2) 线程独享,约4.5GB = 151 * (10M + 10M + 5M + 5M + 512K),组成大概如下:
sort_buffer_size:10M
join_buffer_size:10M
read_buffer_size:5M
read_rnd_buffer_size:5M
thread_stack:512KB
3)MyISAM Key Cache
  key_buffer_size 2.4G
4)Innodb Buffer Pool:忽略,目前系统没有innodb存储引擎的表。

总计算:内存使用量 系统占用+峰值所有线程占用+MyiSAM Key Cache占用:800M+4.5G+2.4G=7.7G,还余有0.3G。

可是有人对这个有疑问,说计算的第5项不是thread_stack而是tmp_table_size;大家都知道tmp_table_size值默认是16M,很大的,如果这个也是线程独享的话,那我的内层计算中光tmp_table_size*151就已经有2.4G了,我别的参数还怎么分配值啊?

在参数设置这块,头大啊!
论坛徽章:
52
2015年新春福章
日期:2015-03-06 11:57:312012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:32:552012新春纪念徽章
日期:2012-02-07 09:59:35
2#
发表于 2011-1-13 21:39 | 只看该作者

回复 #1 oraclemch 的帖子

是独享的,但都是按需分配的.....只能说以最坏的情况下可支撑多少连接并发.....

事实上肯定不让其这么多最坏情况发生的...

使用道具 举报

回复
论坛徽章:
28
2010数据库技术大会纪念徽章
日期:2010-05-13 09:34:232012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25版主2段
日期:2012-07-05 02:21:032013年新春福章
日期:2013-02-25 14:51:24ITPUB社区12周年站庆徽章
日期:2013-08-12 09:34:36马上有车
日期:2014-02-19 11:55:14
3#
发表于 2011-1-14 10:27 | 只看该作者
tmp_table_size只是一个限制mysql内部产生的内存临时表的阈值,超过这个值会被转移到磁盘上,并不是实际就要分配的这么大的内存数量。

使用道具 举报

回复
论坛徽章:
3
ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262012新春纪念徽章
日期:2012-01-04 11:53:29蜘蛛蛋
日期:2012-03-09 15:07:54
4#
发表于 2011-1-14 10:34 | 只看该作者
tmp_table_size

如果内存内的临时表超过该值,MySQL自动将它转换为硬盘上的MyISAM表。如果你执行许多高级GROUP BY查询并且有大量内存,则可以增加tmp_table_size的值。

Created_tmp_disk_tables 与Created_tmp_tables 的比率过高,如超过10%,则
我们需要考虑是否tmp_table_size 这个系统参数所设置的足够大。当然,如果系
统内存有限,也就没有太多好的解决办法了。 --from reference book

使用道具 举报

回复
论坛徽章:
3
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:332012新春纪念徽章
日期:2012-01-04 11:56:44
5#
 楼主| 发表于 2011-1-18 16:27 | 只看该作者
原帖由 jinguanding 于 2011-1-13 21:39 发表
是独享的,但都是按需分配的.....只能说以最坏的情况下可支撑多少连接并发.....

事实上肯定不让其这么多最坏情况发生的...



也就是,在计算内存的时候,不需要太考虑这个参数的数值,对不对?

使用道具 举报

回复
论坛徽章:
4
2011新春纪念徽章
日期:2011-04-15 12:20:32咸鸭蛋
日期:2011-08-05 11:40:05ITPUB十周年纪念徽章
日期:2011-11-01 16:26:292012新春纪念徽章
日期:2012-01-04 11:57:56
6#
发表于 2011-1-19 13:33 | 只看该作者
原帖由 oraclemch 于 2011-1-18 16:27 发表



也就是,在计算内存的时候,不需要太考虑这个参数的数值,对不对?



差不多吧!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表