Haiwei Zhang
Haiwei Zhang
By testing some app, I notice that sometimes I can see ui on screen, but uiautomator can't find the uiobject. When I dump window hierarchy to xml using code, seeing...
当oplog增量很少几乎没有时,mongo driver的cursor.Next()方法会不间断的查询源库,直至有新的oplog返回。在不间断的查询当中会消耗不少collector和源库的性能。 我测试的环境是两台aliyun的4核vps,平时空载状态下,源和目标的cpu占用就一直在30~40%。现象基本与问题#757的描述相同。 因此我将fetcher()方法内的cursor.Next()修改为cursor.TryNext(),并当无新的oplog返回时停顿1秒,借此解决oplog空闲时cpu过高的问题。 已经在我的环境测试通过,制造了10g左右的oplog,同步性能没影响(似乎cpu利用率变高了,原先9分钟同步完的,修改后6分钟左右就能同步完),而空闲时的cpu也降低到了1%以内。 但我毕竟不太了解fetcher中用cursor.Next()不间断查询是不是有特定需求,例如对数据及时性的要求等等。因此冒昧提出PR,请多多指教。