couchbase python SDK长期连接

时间:2018-03-20 16:47:48

标签: python couchbase

使用此代码

from couchbase.cluster import Cluster
from couchbase.cluster import PasswordAuthenticator
cluster = Cluster('couchbase://localhost')
authenticator = PasswordAuthenticator('username', 'password')
cluster.authenticate(authenticator)
cb = cluster.open_bucket('bucket-name')

while True :
   cb.get('key1').value

做> 24小时内500 op /秒。

10分钟后,连接丢失,进程被终止。 假设SDK有一些内存问题......

如何解决问题? 我需要重置连接吗?

ORIGIN发现:    cb.get(' key1')。value返回一个100,000字符串的python列表。    此查询每秒完成100次。     - > Python解释器增加了操作系统分配(即使我们使用gc.collect),        并最终被OS杀死。

- >管理大型列表+重新分配操作系统内存的Python问题。

1 个答案:

答案 0 :(得分:0)

ORIGIN发现:

 cb.get('key1').value returns a python list of 100,000 string. 
 This query is done 100 times a second. 
 --> Python interpreter increases OS allocation (even we use gc.collect)
 And ends up being killed by OS .

- >管理大型列表+重新分配操作系统内存的Python问题。

参考:

https://chase-seibert.github.io/blog/2013/08/03/diagnosing-memory-leaks-python.html