小编aws*_*ard的帖子

为什么我的MongoDB副本不断落后?

虽然昨晚将收藏品转换为封顶收藏品,但我的次要运动时间开始落后于初级.它进展缓慢,每隔几分钟几秒钟,最终落在主要的oplog窗口之外.根据这里的说明,我在次要文件上停止了mongod,删除了所有数据文件,然后重新启动它,尽管我忘了将主文件从写入锁定.辅助设备经历了初始阶段,这需要花费大量时间,最终重新开始运营,但是当我登录时,复制现在甚至更远了.

因为这是云,毕竟我创建了一个我的主映像(它应该复制所有数据),虽然我当时无法运行db.fsyncLock(),因为它正在进行一些写操作.新图像完成,我基于该图像启动一个新的服务器,将它添加到我的副本集,删除旧的二级,生活是好的,对吧?不完全 - 新的中学落后了大约一个小时,并且在一天中(和今晚)最终达到了落后14小时的程度(尽管在oplog窗口内仍然非常奇怪).

我从"重新同步一个陈旧的成员页面"迈出了下一步.关闭两台服务器上的mongod,gzip并将我的数据文件夹从主数据库复制到辅助服务器,解压缩,将它们都解压缩,db.fsyncLock()我的主服务器.令我震惊的是,即使使用相同数据,在初始化之后,我的中学也说它落后了1个小时.我将它添加回副本集中,并迅速赶上落后5分钟.

一切都好,对吗?不 - 闪现前锋,中学正在向前推进,现在落后20分钟.Mongostat次要挂钩95%锁定%,iostat -xm 2没有显示任何疯狂 - 主要目前因不接受写入而空闲,次要绝对没有做多少(.04 wMB /秒).不确定它是否值得一提,但是主要目前感觉狗慢慢反应无法登录到mongo shell等.

什么给,Mongo?为什么你不能赶上?我试图让我的二手陷入困境我做错了什么?

编辑 回答问题:

  • 版本:2.0.4
  • 硬件:两个节点都是相同的硬件,接近我所知 - 8GB RAM,四核CPU.我认为这是虚拟化的东西.
  • 写入率:它有所不同.如上所述,昨晚我转换为一个上限集合,触发了整个事情.一夜之间,有一个过程每小时写几百个小文件(每个大约155个字节),所以最大估计大约100-200kbytes /小时.在白天,处理更加激烈,更新了数十万个500字节的文档,并写了几十万个文档.仍然没有谈论庞大的数据量.EDIT今天早些时候发现了一些iostat输出:
Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda              1.00  2564.50  243.50  282.50  8986.00 11388.00    77.47    11.32   21.46    2.36   37.93   0.50  26.50

那个以11 wMB/s的速度特别突破,实用率达到34%,7 wMB/s,72%达到52 rMB/s.所以没有饱和,但绝对是早上读取繁重的工作量.尽管有obj,但它很有趣.大小~5GB,和~1GB索引(见下文),磁盘活动太多了.难道不应该都在内存中吗?

  • 工作集:我还没有找到计算工作集的公认方法,但如果它有帮助:
    "collections" : 21,
    "objects" : 15540092,
    "avgObjSize" : 325.26198326238995,
    "dataSize" : 5054601144,
    "storageSize" : …

replication mongodb

10
推荐指数
1
解决办法
3535
查看次数

JQuery UI Autocomplete显示为子弹

自动完成(链接)的JQuery UI Demo页面有一个漂亮的搜索框,下拉有漂亮的颜色和高光等.当我为自己实现它时,我最终会得到一个项目符号列表.如何让我的建议看起来像他们的?

一些注释/代码片段:

  • 我在.NET领域工作,所以我在其中使用<asp:ScriptManager>带有<asp:ScriptReference>s 的标签来获取来自Google的托管jquery.min.js(1.4.2)和jquery-ui.min.js(1.8.1)文件.
  • 我的输入框很简单: <div class='ui-widget'> <label for="terms">Term: </label> <input id="terms" class="ui-autocomplete-input"> </div>
  • 我的自动填充功能如下: $(""#terms"").autocomplete({source:""GetAttributesJSON.aspx"",minLength:2});

我得到了正确的数据,所以这不是问题.我只想要花哨的图形.任何想法将不胜感激.

jquery jquery-ui jquery-ui-autocomplete

8
推荐指数
1
解决办法
4764
查看次数

减少C#Forms Control.set_Text(string)函数的时间

希望得到一个快速回答(这似乎很好)...

我刚刚在我的应用程序上使用VS2010进行了性能分析,事实证明我花了大约20%的时间在Control.set_Text(string)函数中,因为我在我的应用程序的很多地方更新了标签.

该窗口有一个计时器对象(Forms计时器,而不是Threading计时器),它有一个timer1_Tick回调,每次滴答都会更新一个标签(以提供一种停止观察效果),每秒更新一次约15个标签.

有没有人有关于如何减少更新表单上文本所花费的时间的快速建议,而不是增加更新间隔?我应该使用其他结构或功能吗?

c# timer winforms

2
推荐指数
1
解决办法
1153
查看次数

jQuery 可放置手风琴

一段时间以来,我一直在尝试创建一个可放置的手风琴,但它的响应速度并不快。当我在手风琴上拖动一个项目时,手风琴元素需要 5 秒以上的时间才能打开(如果有的话)。有时我必须在手风琴元素上“挥动”拖动元素。

我知道我读过一些关于 javascript 中事件处理的内容 - 浏览器的某些内容并不总是在您认为它确实将控制权传递给 javascript 引擎时,或者类似的东西,导致奇怪的时间。

有没有其他人见过试过这样做?你有没有发现 jquery/javascript 这么慢?您是否有任何关于如何获得响应式可放置手风琴的参考资料(jQuery UI 站点似乎没有,我在 SO 或 Google 上没有找到任何内容)。

谢谢!

jquery jquery-ui jquery-ui-accordion

2
推荐指数
1
解决办法
2842
查看次数

如何确保我的Hadoop节点可以使用RegexSerDe?

我正试图用Hive来解决分析网络日志的问题,我已经看到了很多例子,但我似乎找不到任何有这个特定问题的人.

这就是我所处的位置:我已经建立了一个AWS ElasticMapReduce集群,我可以登录,然后启动Hive.我确保add jar hive-contrib-0.8.1.jar,并说它已加载.我创建了一个名为的表event_log_raw,其中包含一些字符串列和一个正则表达式. load data inpath '/user/hadoop/tmp overwrite into table event_log_raw,我要参加比赛了.select * from event_log_raw工作(我认为在本地,因为我没有得到地图%和减少%输出),我从我的样本数据得到我的10条记录,正确解析,一切都很好. select count(*) from event_log_raw也是这样,这次创建了mapreduce作业.

我想将我的request_url字段转换为地图,所以我运行:

select elr.view_time as event_time, elr.ip as ip, 
str_to_map(split(elr.request_url," ")[1],"&","=") as params 
from event_log_raw elr
Run Code Online (Sandbox Code Playgroud)

Mapreduce开火,等待,等待......失败.

FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.MapRedTask
MapReduce Jobs Launched: 
Job 0: Map: 1   HDFS Read: 0 HDFS Write: 0 FAIL
Run Code Online (Sandbox Code Playgroud)

我从任务跟踪器检查系统日志,并查看,除其他外,

java.lang.RuntimeException: Error in configuring object
at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:93)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:64)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117) …
Run Code Online (Sandbox Code Playgroud)

hadoop hive classnotfoundexception elastic-map-reduce

1
推荐指数
1
解决办法
6951
查看次数

Apache Pig:ORDER BY与PARALLEL是否确保一致的散列/分发?

如果我加载一个数据集,在带有parallel子句的特定键上对其进行排序,然后存储它,我可以获得多个文件,部分-r-00000到部分-r-00XXX,具体取决于我在并行语句中指定的内容.

如果我然后加载一个新数据集,说一天的数据,一些新密钥和一些相同的密钥,订购它,然后存储它,有没有办法保证part-r-00000来自昨天的数据将包含与今天数据中的part-r-00000相同的键空间?

有没有办法保证所有记录都包含在单个零件文件中,或者是否有可能在给定足够记录的情况下将密钥拆分为2个文件?

我想这个问题实际上是关于排序函数如何在pig中工作 - 它是否使用一致的hash-mod算法来分配数据,或者它是否对整个集合进行排序,然后将其分割?

意图或希望是,如果密钥空间一直被分区,那么对每个部分文件执行数据的滚动合并将非常容易.如果不是,我想问题就变成了,是否有一些操作员或写猪的方式来实现那种一致的哈希?

不确定我的问题是否非常清楚,但是任何帮助都会受到赞赏 - 根据文档很难搞清楚.提前致谢!

sql-order-by apache-pig

1
推荐指数
1
解决办法
1662
查看次数