2011-04-20 169 views
5

我們在調用SOLR服務器時遇到「連接重置」錯誤。我們的併發負載相當小。Solr客戶端發生「連接重置」

這裏是SOLR Tomcat的接口配置:

<Connector port="8983" protocol="HTTP/1.1" 
      connectionTimeout="20000" maxThreads="40000" minSpareThreads="400" maxSpareThreads="5000" maxKeepAliveRequests="100" URIEncoding="UTF-8" 
      redirectPort="8943" /> 

下面是我們從SOLR客戶有:

Caused by: org.apache.solr.client.solrj.SolrServerException: java.net.SocketException: Connection reset 
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:472) 
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243) 
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89) 
at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:122) 

... 36 more 
Caused by: java.net.SocketException: Connection reset 
at java.net.SocketInputStream.read(SocketInputStream.java:168) 
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) 
at java.io.BufferedInputStream.read(BufferedInputStream.java:237) 
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) 
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) 
at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116) 
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413) 
at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1973) 
at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735) 
at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098) 
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:398) 
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171) 
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397) 
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:323) 

麻煩通過Solr的客戶端代碼讀取拍攝後,我們發現這可能是由於SOLR的Tomcat配置中的連接超時設置不正確。我們決定將其更改爲默認值(無限超時)。所以,我的問題是,將此值設置爲無限時,是否會引發其他性能問題?

+0

Solr服務器是否由某些Web服務器(例如.apache)驅動? IMO可能發生的最糟糕的事情是某些客戶端建立連接,之後不再發送任何內容,隨後斷開連接,造成文件描述符泄漏。前面的Web服務器可以緩解這個問題。 – user1452132 2012-06-13 14:44:35

回答

0

什麼是調用Solr的客戶端?並查詢了嗎?是不管什麼原因的查詢是一個很長的運行不返回?