在Ubuntu的套接字超时exception

我们有solr路由器和碎片。 当在所有碎片上进行分面search时,这会出现在路由器的docker日志中。

org.apache.commons.httpclient.HttpMethodDirector executeWithRetry INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset by peer: socket write error org.apache.commons.httpclient.HttpMethodDirector executeWithRetry INFO: Retrying request 

其次是有关内部服务器错误的exception。 我们运行分布在几台服务器上的八十个分片。 路由器在自己的节点上运行。

UPD:在SOLR的HttpCommComponent类中suclits请求使用HttpClient类的分片我已经注意到在MultiThreadedHttpConnectionManager上设置以下:mgr.getParams()。setDefaultMaxConnectionsPerHost(20);

在我看来,对于80多个碎片而言,它似乎太less了。

该消息是说你的服务器收到一个TCP重置,因此无法继续。

我假设他是一个HTTP客户端? 目标url是否正确(即不是封闭的端口)。

使用tcpdump或类似的,你应该能够找出哪里出了问题。

经过一些debugging后,我发现,其中一个请求的大小为4,4MB。 tomcat6中的默认maxPostSize是2MB( http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html )。

将其更改为10MB,极大地改善了现状。