Aerospike Go Client: No available connections to the node. Connection Pool was empty, and limited to certain number of connections

huangapple go评论73阅读模式
英文:

Aerospike Go Client: No available connections to the node. Connection Pool was empty, and limited to certain number of connections

问题

我有一个由8个节点组成的Aerospike集群。我的Aerospike Go客户端(18个服务器)每秒发送大约8k个批量请求,每个批量请求的大小约为8-12个。我的集群的总TPS和每个节点的TPS将会是多少?

我在Go客户端中经常遇到以下错误:

命令执行超时:超过重试次数。请参阅Policy.MaxRetries。(最后一个错误:没有可用的连接到节点。连接池为空,并且连接数受到限制。)

我想检查是否是由于网络限制导致的。还可能有其他原因吗?总使用的存储空间约为12-15%,同时每秒大约有3k个写操作。

英文:

I have 8 node Aerospike cluster. My Aerospike Go client (18 servers) sends x (~8k per seconds) batch request per second with batch size ~8-12. What will be Total TPS on my cluster and per Node?

I an getting frequent error in Go client:

> command execution timed out: Exceeded number of retries. See
> Policy.MaxRetries. (last error: No available connections to the
> node. Connection Pool was empty, and limited to certain number of
> connections.)

I want to check if it's because of network limitation. what could be other reasons? Total storage used is ~12-15% and there are some ~3k per second writes overall as well.

答案1

得分: 2

Aerospike Go客户端开发者在这里。

你得到的错误意味着应用程序已经使用了连接池中的所有可用连接,并且没有可用的连接来连接到节点。

这种行为取决于当你连接到数据库时,在*ClientPolicy*中的以下属性:

  • ConnectionQueueSize:确定每个节点将有多少个连接被池化。
  • LimitConnectionsToQueueSize:确定在需要连接时,是否应该尝试连接到节点,如果连接池为空。

还有Read/WritePolicy中的***MaxRetries***属性,确定重试的次数。

你使用的Go客户端版本是什么?你对上述设置传递了什么值?

英文:

Aerospike Go Client dev here.

The error you are getting means that the app is using all the connections available in the pool already, and no connections are available to connect to the nodes.

This behavior depends on the following attributes in the ClientPolicy when you're connecting to the database:

  • ConnectionQueueSize: determines how many connections will be pooled per node.
  • LimitConnectionsToQueueSize: Determines if an attempt should be made to connect to a node, in case the pool is empty when a connection is needed.

There is also the MaxRetries attribute on Read/WritePolicy, which determines the number of retries.

Which version of the go client are you using, and what are values you are passing for the above settings?

huangapple
  • 本文由 发表于 2016年11月16日 15:42:47
  • 转载请务必保留本文链接:https://go.coder-hub.com/40626519.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定