【发布时间】:2014-05-08 08:46:46
【问题描述】:
我使用 couchbase txcouchbase 来操作;我得到一个问题;我的代码如下:
1 import multiprocessing
2 from threading import Thread
3 from couchbase import Couchbase
4 from twisted.internet import reactor
5 import txcouchbase.connection as TxConnection
6 from txcouchbase.connection import Connection as TxCouchbase
7 import couchbase
8 db = None
9 class A:
10 def __init__(self):
11 pass
12
13 def on_get(self,ret):
14 pass
15
16 def worker(key):
17 '''
18 l = []
19 for i in range(1000000):
20 l.append(i)
21 '''
22 db = TxCouchbase(bucket = 'zonedb',
23 host = '192.168.1.30',
24 timeout = 100,
25 lockmode = couchbase.connection.LOCKMODE_WAIT)
26 a = A()
27 while 1:
28 for k in key:
29 db.get(k, quiet = True).addCallback(a.on_get)
30
31 if __name__ == "__main__":
32 TxConnection.experimental.enable()
33 keys = ['kuwo.cn', 'apple.com', \
34 'jslgroup.com', 'zjoldns.com.cn', \
35 'tmall.com', 'kaitao.cn', \
36 'alibaba.com', 'telemetryverification.net', \
37 'qq.com', 'baidu.com', 'pyrc.net', 'xh568.com']
38 p = Thread(target = worker, args = (keys,))
39 p.start()
40 reactor.run()
Web 控制台显示 couchbase 每秒有 3000 次操作;
当我拿出笔记时
17 '''
18 l = []
19 for i in range(1000000):
20 l.append(i)
21 '''
代码是:
1 import multiprocessing
2 from threading import Thread
3 from couchbase import Couchbase
4 from twisted.internet import reactor
5 import txcouchbase.connection as TxConnection
6 from txcouchbase.connection import Connection as TxCouchbase
7 import couchbase
8 db = None
9 class A:
10 def __init__(self):
11 pass
12
13 def on_get(self,ret):
14 pass
15
16 def worker(key):
17
18 l = []
19 for i in range(1000000):
20 l.append(i)
21
22 db = TxCouchbase(bucket = 'zonedb',
23 host = '192.168.1.30',
24 timeout = 100,
25 lockmode = couchbase.connection.LOCKMODE_WAIT)
26 a = A()
27 while 1:
28 for k in key:
29 db.get(k, quiet = True).addCallback(a.on_get)
30
31 if __name__ == "__main__":
32 TxConnection.experimental.enable()
33 keys = ['kuwo.cn', 'apple.com', \
34 'jslgroup.com', 'zjoldns.com.cn', \
35 'tmall.com', 'kaitao.cn', \
36 'alibaba.com', 'telemetryverification.net', \
37 'qq.com', 'baidu.com', 'pyrc.net', 'xh568.com']
38 p = Thread(target = worker, args = (keys,))
39 p.start()
40 reactor.run()
所以代码有一个很大的列表变量;并且 couchbase Web 控制台我 couchbase 的 opr/秒为零; 为什么会这样;我该怎么办;我感谢它扭曲的错误,但我不知道如何解决它
【问题讨论】: