Ticket #58 (closed 故障: fixed)

Opened 14 years ago

Last modified 14 years ago

开新分站mongodb锁问题

Reported by: chenchongqi Owned by:
Priority: major Milestone:
Component: 报价库 Version: 报价库4.0
Keywords: mongodb,实例锁,开分站,批量修改数据 Cc:
Due Date:

Description

上mongodb后第一次开新分站的时候,定时任务里使用了一个批量修改数据的mongo sql,因为replicaset方式的集群只有master是可写的,此时数据修改需要同步到slave上,但是修改数据的时候是实例锁,瞬间的大批量数据同步导致从库的读受到阻塞,前台页面出来很慢。

解决方法:
从单独切一台从库出来给前台访问,数据更新同步好后,应用换回集群配置,然后切出来的这台drop掉重新加入,再加入后这台处于recovery状态不会被分配请求,因此对前台没有影响。
修改定时任务,改为代码中逐条更新。

Change History

comment:1 Changed 14 years ago by chenchongqi

  • Status changed from new to closed
  • Resolution set to fixed

comment:2 Changed 14 years ago by huangxianduan

--开始用mongo的update语句

var cur = db.pdl_product_front.find();
cur.forEach( function(o) {db.pdl_product_front.update({"_id": o._id},
  {"$set":{"price_32": o.price_13, "change_rate_32": o.change_rate_13}})}
);
Last edited 14 years ago by huangxianduan (previous) (diff)
Note: See TracTickets for help on using tickets.