免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 946 | 回复: 0
打印 上一主题 下一主题

[MongoDB] MongoDB Jira系列-3.0.5修复的那些事儿 [复制链接]

求职 : Linux运维
论坛徽章:
203
拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:182015年亚洲杯之约旦
日期:2015-04-05 20:08:292015年亚洲杯之澳大利亚
日期:2015-04-09 09:25:552015年亚洲杯之约旦
日期:2015-04-10 17:34:102015年亚洲杯之巴勒斯坦
日期:2015-04-10 17:35:342015年亚洲杯之日本
日期:2015-04-16 16:28:552015年亚洲杯纪念徽章
日期:2015-04-27 23:29:17操作系统版块每日发帖之星
日期:2015-06-06 22:20:00操作系统版块每日发帖之星
日期:2015-06-09 22:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-01-15 18:25 |只看该作者 |倒序浏览
大家好,我是E叔。
经常有朋友向我咨询版本选型的问题。
受到老毕同学的启发,E叔决定为大家搬运+翻译+简单解释 MongoDB3.0.4+以后各个版本fixed的比较重要的jira issues。大家可以根据需求来决定版本选型。
今天是3.0.5篇。

Issues fixed in 3.0.5

以下均是3.0.5中修复了的jira issues。(比较重要的issues)
由于人肉整理,难免有遗漏,欢迎补充。

Issues fixed in 3.0.5

SERVER-19513

truncate 一个capped 表的时候 可能其索引在WT中不会删除。

cover index 的查询可能就会返回出这些没删除的索引的documents

SERVER-19375

选择syncsource的时候,此前是比较的最新的数据,应该比较最新oplog数据。

SERVER-19189(与SERVER-18829有关联)

提高了WT引擎在大量threads下的性能。

SERVER-18829

当在WT中进行大量index的建立的时候,会超过我们WT设置的最大cache,可能会OOM之类

SERVER-19178

由于WT tracks和expires capped表的方式问题,性能有所损耗(在大量inserts的情况,)

注意:oplog就是个capped collection!

现在WT会cache住capped的第一个没有过期的document在cache中,提高了效率。

SERVER-18994

producer thread can continue producing after a node becomes primary

SERVER-18926

full text search 在WT中效率很低,使用内存较多

yield过程中 intermediate的数据buffer在cache中,但是在$text 和geoNear的long queries有个bug:

In particular, if a such a query yields y times and buffers d documents, the overall time spent in yield-preparation was O(yd). With the fix, the time complexity is reduced to O(y).

SERVER-18902

超过1MB大小的document,WT速度slow down

原因如下

WiredTiger does not store documents larger than its default leaf_value_max in the in-memory cache. The leaf_value_max value is 1 megabyte. As a result, operations that read or modify larger documents are significantly less efficient than with smaller documents.

Starting with MongoDB 3.0.5 all documents are stored in the in-memory WritedTiger cache, but this change only impacts collections created after upgrading to 3.0.5 or later. Existing collections are unaffected by this change.

WT的每个leaf的leaf_value_max是1MB,如果超过1MB就存储多个,这时候效率变差。

Users with documents larger than 1 megabyte may use the –wiredTigerCollectionConfigString ‘leaf_value_max=‘configuration option to increase the value of leaf_value_max beyond 1 megabyte to improve performance when accessing large documents.

For example, to ask WiredTiger to put in its cache documents of up to 16 megabytes in size, use:

–wiredTigerCollectionConfigString ‘leaf_value_max=16000000′

Note that this setting only impacts collections created after the change. Existing collections are not be affected by this change, so users with existing collections containing large documents may want to move them to a newly created collection, replicate them to new instances running 3.0.5, or perform a dump + restore cycle on these collections.

3.0.5修复,但是只有在3.0.5之后建立的表才有效,可以重新建立表,导入数据之类。

SERVER-18838

当意外宕机(如断电)的时候,

这些操作:database creation

database dropping

collection creation

collection dropping

index creation

index dropping

将可能会作用在invalid的data set中,导致重启后recover失败

SERVER-17386

WT 不限制mongo打开的wt session。这样造成了一定的内存泄露

WiredTiger allows MongoDB to open an unbounded number of WiredTiger sessions, which means that despite a limited number of WiredTiger cursors per session, the total number of cached sessions an cursors may lead to excessive memory use.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP