orientdb上的最大并发连接数2.1.11

orientdb上的最大并发连接数2.1.11

问题描述:

我们在版本2.1.11上经常发生错误,同时将流量路由到数据库(在3节点设置上),而我们现在仅使用其中一个节点,因为我们对分布式节点有其他问题。orientdb上的最大并发连接数2.1.11

我们打我们每次发送流量时的误差大约达到了并发会话的最大数量。 (请参阅下面的错误快照)。

2016年3月4日10:17:00:594 WARNI达成并发连接(最大值= 1000,电流= 1000),拒绝来自/10.43.1.238:43635 [OServerNetworkListener]

传入连接的最大数目

为DB池中的客户端服务器的配置是:

orient.db.minPool = 50 
orient.db.maxPool =100 

在这个错误的netstats在客户端的时间是:

150 TIME_WAIT 
99 ESTABLISHED 
10 LISTEN 
1 SYN_SENT 

的独立服务器配置为:

<handler  class="com.orientechnologies.orient.graph.handler.OGraphServerHandler"> 
<parameters> 
<parameter name="enabled" value="true"/> 
<parameter name="graph.pool.max" value="50"/> 
</parameters> 
</handler> 

<entry name="db.pool.min" value="100”/> 
<entry name="db.pool.max" value="400"/ > 

在错误的服务器网络统计时间:连接

netstat -a | grep -i client-server | egrep -c 'ESTABLISHED|LISTEN|TIME' 949 

破碎:

576 TIME_WAIT 
330 ESTABLISHED 
13 LISTEN 

H/W配置: OS - DEBIAN挤压64位,JAVA 7,RAM 48G,双核心。

我们害怕增加网络连接(1000)的默认限制,并希望挖掘出最大连接为什么orientdb服务器compaints。有兴趣了解OClientConnection的生命周期,以帮助我们理解事务如何打开和关闭。

+0

你能与集尝试属性“storage.keepOpen”假? –

+0

你用什么驱动程序连接到服务器? – Lvca

+0

问题似乎在客户端:你确定你总是关闭数据库吗?这个问题通常在那里:最终在客户端有数千个打开的数据库实例。 – Lvca

@Lvca,我Shobhit的同事,这个问题原来的海报。客户端库是orientdb-client-2.1.11.jar。

@Alessandro,我意识到storage.keepOpen的默认行为是真实的,需要明确设置为false(通过添加服务器或JVM的属性),但不知道它做什么,它是如何与我们看到的问题。

除此之外什么可以解释570+ TIME_WAIT套接字,线程/ FD计数也同时最多拍摄,当我们看到这个警告。我怀疑orientdb线程堆积并锁定资源,因此无法处理更多的连接,我们如何将这与客户端相关联?