Couchbase在几秒钟后超时

时间:2014-05-21 01:17:37

标签: node.js couchbase

我有大约100-200k小文档,其中包含base64编码图像(非常小的图像)。我试图将所有这些文档插入Couchbase,并且在第一个28k文档(总大小约为185 Mb)之后我一直收到此错误

[Error: Client-Side timeout exceeded for operation. Inspect network conditions or increase the timeout] code: 23

以下是Couchbase设置的屏幕截图(我在这里只看到一个奇怪的事情 - 可用空间完全错误,实际上我的磁盘上有大约300GB的可用空间)

scr

我的代码非常简单,看起来像这样

 _.forOwn(data, function (data) {
    var item_id = "item::" + uid().toString();

    db.set(item_id, data, function(err, result) {
        if (err) {
            console.log('cb error', err);
        }
        else {
            console.log('cb success', result);
        }
    });
 });

我试图更改文档并使它们更小或更大 - 在28k数据库停止响应后,这并不重要。它在几秒钟内节省了28k,然后抛出超时。我该怎么做才能解决这个问题?


UPD

我安装了Couchbase 2.5 Enterprise,现在可以正确显示可用空间。但是我仍然无法通过28k限制。我正在运行Mac OS X 10.9.2。也许我应该尝试使用Python或Java SDK?

scr2


尝试在Ubuntu 14.04上安装Couchbase,现在在46k文档后出现相同的错误。

以下是图表的截图(两个峰显示了我将两个文件导入Couchbase的两次尝试) scr3

2 个答案:

答案 0 :(得分:5)

切换到couchbase协议并增加超时。

以下是从node.js连接到本地couchbase的示例:

callback = function(err)
{
  if (err)
    throw err;
}

var cluster = cluster = new couchbase.Cluster("couchbase://localhost/default");
var bucket = cluster.openBucket("default", callback);
bucket.operationTimeout = 60 * 1000; // 60 seconds operation timeout (LCB_CNTL_OP_TIMEOUT)

请注意“localhost:8091” - 仅限http协议

答案 1 :(得分:-5)

当我从nodejs sdk切换到python sdk时,这个问题就解决了。