2016-03-04 110 views
2

我們在版本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

回答

0

@Lvca,我Shobhit的同事,這個問題原來的海報。客戶端庫是orientdb-client-2.1.11.jar。

@Alessandro,我意識到storage.keepOpen的默認行爲是真實的,需要明確設置爲false(通過添加服務器或JVM的屬性),但不知道它做什麼,它是如何與我們看到的問題。

除此之外什麼可以解釋570+ TIME_WAIT套接字,線程/ FD計數也同時最多拍攝,當我們看到這個警告。我懷疑orientdb線程堆積並鎖定資源,因此無法處理更多的連接,我們如何將這與客戶端相關聯?