Shobhit Deshwal
Shobhit Deshwal

Reputation: 21

Max concurrent connections on orientdb 2.1.11

We have a recurrent error on version 2.1.11, while routing traffic to the DB (on a 3 node setup), while we are using only one of the nodes as of now, because we have had other issues with the distributed nodes.

The error we hit every time we send traffic is about the maximum number of concurrent sessions reached. (Please see the snapshot of error as under).

2016-03-04 10:17:00:594 WARNI Reached maximum number of concurrent connections (max=1000, current=1000), reject incoming connection from /10.43.1.238:43635 [OServerNetworkListener]

The client server config for DB pool is:

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

At the time of this error the netstats at the client is:

150 TIME_WAIT
99 ESTABLISHED
10 LISTEN
1 SYN_SENT

The stand alone Server Config is:

<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"/ >

At the time of error the Server Network Stats:

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

Breakup of connections:

576 TIME_WAIT
330 ESTABLISHED
13 LISTEN   

H/W config: OS - DEBIAN squeeze 64 bit, JAVA 7, RAM 48G, dual Hex core.

We are afraid to increase the default limit of network connections (1000) and want to dig out why orientdb server compaints of max connections . Would be interested in knowing the lifecycle of OClientConnection, so as to help us understand how does the transaction opens and closes.

Upvotes: 2

Views: 1097

Answers (1)

Ganaiwali
Ganaiwali

Reputation: 13

@Lvca, I am Shobhit's colleague, original poster of the question. Client library is orientdb-client-2.1.11.jar .

@Alessandro, I realized the default behavior of storage.keepOpen is true and needs to be explicitly set to false ( by adding the property in server or JVM ), but wondering what does it do and how is it related to the problem we see.

Besides that what could explain 570+ TIME_WAIT sockets, thread/FD count also shoots up at the same time when we see this warning . I suspect orientdb threads piling up and locking on resources due to which it can't handle any more connections and how do we correlate this to the client ?

Upvotes: 0

Related Questions