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的生命周期,以帮助我们理解事务如何打开和关闭。
答
@Lvca,我Shobhit的同事,这个问题原来的海报。客户端库是orientdb-client-2.1.11.jar。
@Alessandro,我意识到storage.keepOpen的默认行为是真实的,需要明确设置为false(通过添加服务器或JVM的属性),但不知道它做什么,它是如何与我们看到的问题。
除此之外什么可以解释570+ TIME_WAIT套接字,线程/ FD计数也同时最多拍摄,当我们看到这个警告。我怀疑orientdb线程堆积并锁定资源,因此无法处理更多的连接,我们如何将这与客户端相关联?
你能与集尝试属性“storage.keepOpen”假? –
你用什么驱动程序连接到服务器? – Lvca
问题似乎在客户端:你确定你总是关闭数据库吗?这个问题通常在那里:最终在客户端有数千个打开的数据库实例。 – Lvca