Node.js 客户端超时couchbase节点js
我正试图发送几百(确切地说是448)个小文档(每个20KB)到我的Couchbase服务器,该服务器已经使用设置。我在Node.JS中使用了以下代码Node.js 客户端超时couchbase节点js,node.js,amazon-web-services,couchbase,Node.js,Amazon Web Services,Couchbase,我正试图发送几百(确切地说是448)个小文档(每个20KB)到我的Couchbase服务器,该服务器已经使用设置。我在Node.JS中使用了以下代码 var couchbase = require('couchbase'); var cluster = new couchbase.Cluster('couchbase://54.xx.xxx.xxx:8091'); var bucket = cluster.openBucket('myBucket', 'password', function(e
var couchbase = require('couchbase');
var cluster = new couchbase.Cluster('couchbase://54.xx.xxx.xxx:8091');
var bucket = cluster.openBucket('myBucket', 'password', function(err) {
if(err){
console.log("Can't open bucket");
throw err;
}
else {
console.log("Successfully opened bucket");
}
});
function addToDatabase(data) {
var key = some key;
bucket.upsert(key, data, function(err, result) {
if (err) {
return console.log(err);
}
console.log(result);
});
}
它成功发送了大约50个文档,然后给我一个超时错误:
{ [CouchbaseError: Client-Side timeout exceeded for operation. Inspect network conditions or increase the timeout] message: 'Client-Side timeout exceeded for operation. Inspect network conditions or increase the timeout', code: 23 }
我使用的是的最新版本(2.1.2)
我增加了bucket连接的超时时间(bucket.operationTimeout=500*1000)。在这次更改之后,它成功地发送了所有文档,但这不是一个解决方案,因为我不知道operationTimeout的最佳值是多少。
如有任何建议,将不胜感激 在我看来,您的客户机上似乎资源有限,比如文件描述符(已知MacOS没有足够的)、RAM、套接字等等。我敢打赌,如果你要启动另一个AWS实例,你会看到同样的代码立即加载你的数据并获得你想要的访问时间。我对AWS上的CouchBase也有同样的问题。 我通过向任何人开放以下端口解决了此问题: 22 tcp 0.0.0.0/0
4369 tcp 0.0.0.0/0
4984 tcp 0.0.0.0/0
8080 tcp 0.0.0.0/0
8088 tcp 0.0.0.0/0
8091 tcp 0.0.0.0/0
8092 tcp 0.0.0.0/0
11209 tcp 0.0.0.0/0
11210 tcp 0.0.0.0/0
11211 tcp 0.0.0.0/0
11214 tcp 0.0.0.0/0
11215 tcp 0.0.0.0/0
18091 tcp 0.0.0.0/0
18092 tcp 0.0.0.0/0
有关更多信息,请参阅:代码从何处运行?感觉客户机系统可能是资源受限的。我觉得你的代码很正确。另外,couchbase node.js SDK的最新版本是2.1.2,而不是1.2.1。感谢您的注意,修复了该版本。我正在使用IntelliJ在mac os x 10.11.1上运行代码。我发现,如果我一个接一个地升级数据库,然后等待结果,然后运行下一个,它就会正常运行。