为清晰起见进行了更新:在插入/附加到capped collection
时,我需要关于性能的建议。我有两个python脚本正在运行:
(1)拖尾光标。在
while WSHandler.cursor.alive:
try:
doc = WSHandler.cursor.next()
self.render(doc)
(2)插入如下:
^{pr2}$在一段时间内运行良好(每秒插入50次)。然后,在20-60秒后,它会绊倒,撞到cpu的顶部(尽管它以前运行的是20%),并且再也不会恢复。我的mongostats潜水(下潜见下图)。在
变阻器输出:
CPU现在被执行插入操作的进程阻塞(至少根据htop
)进行。在
当我用print(data)
运行上面的两行代码,而不是将其添加到db(coll.insert(data)
)中时,cpu使用率为15%时,一切正常。在
我在mongostats看到的:
res
继续攀升。(虽然在40米处可能会发生堵塞,在100米处也可能会跑得很好。)flushes
似乎没有干扰。在locked %
稳定在0.1%。这最终会导致堵塞吗?在(我正在运行AWS microinstance;pymongo。)
我建议在运行测试时使用mongostat。有很多事情可能是错误的,但是mongostat会给你一个很好的指示。在
http://docs.mongodb.org/manual/reference/mongostat/
我首先要看的是锁百分比和数据吞吐量。如果在专用机器上有合理的吞吐量,我通常会在性能下降之前达到每秒1000-2000次的更新/插入。在我参与过的几个大型生产部署中都是这样。在
相关问题 更多 >
编程相关推荐