开发者社区> 问答> 正文

mongodb+ gevent,连接时创建连接飙升,如何处理?

连接mongodb采用ReplicaSetConnection连接方式,且read_preference是方式3:

  conn =ReplicaSetConnection("mongodb://%s:%i,%s:%i"%(host_prim,int(port_prim),host_seco,int(port_seco)),read_preference=3, replicaSet=replicaSetName) 
 

然后呢
现在不停的 创建 协程(调用函数 spawn_test) 读写数据库,
在每个协程的 开始 start_request,结束 end_request,
连接replicaSet里的主机,socket连接数 很稳定,
但是连接replicaSet里的备机, socket连接数一直在飙升,
我是想 start_request和end_request 是不是 只针对 replicaSet模式里的主机呀??
但是我设置的 mongodb读写方式是3, 读在备机,写在 主机呢
gevent的 协程是这么写的:

def spawn_test(): 

    start_request() 

   self._app.task_model.insert()
   end_request() 

请教各位高手

展开
收起
落地花开啦 2016-01-31 16:51:37 2407 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人
    conn =ReplicaSetConnection("mongodb://%s:%i,%s:%i"%(host_prim,int(port_prim),host_seco,int(port_seco)),read_preference=3, replicaSet=replicaSetName) 

    需要加个参 auto_start_reqeust = False

    2019-07-17 18:36:49
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Data as a Service - 数据即服务 -- MongoDB⾼级应⽤模式 立即下载
MongoDB多数据中心的方案选型之路 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载