CouchDB插入和更新性能



对不起,我的英语不好。(

我在开发模式下使用CouchDB表单几个月了,当我们想在生产环境中使用它时,我们发现了一些性能问题,1000个文档插入和更新需要7秒(因为我在这里使用缓存,否则需要更长的时间)。

我知道我可以使用批量更新,但我不能,因为我们的对象设计是这样的:

在Python中

()

class Props(object):
    def __set__(self, name, value):
        # this is a setter, and update couched
        couchdb.update(database, name, value)
class User(object):
    name = Props('name' + self.id)

然后我可以使用这样的代码

user = User()
user.name = 'CouchDB'

然后将'CouchDB'保存在'testrongomedatabase'数据库中,文档id为'name10000',值为{'name': 'CouchDB'}

这很容易阅读和理解,但是如果我这样做会导致性能问题:

for i in range(100):
    user.name = 'something'
有更好的方法来解决这个问题吗?我可以使用TCP在套接字而不是HTTP?

谢谢!

CouchDB仅是HTTP,即使有TCP,进行1000次调用总是比仅进行1次调用慢。如果你真的关心性能,你应该重新考虑批量文档更新api。

最新更新