0

Solrルーターとシャードがあります。これは、すべてのシャードでファセット検索を実行すると、ルーターの jetty ログに表示されます。

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 

内部サーバーエラーに関する例外が続きます。複数のサーバーに分散された 80 のシャードを実行しています。ルーターは独自のノードで実行されます。

UPD: HttpClient クラスを使用してシャードにリクエストを送信する SOLR の HttpCommComponent クラスで、MultiThreadedHttpConnectionManager に次のセットがあることに気付きました: mgr.getParams().setDefaultMaxConnectionsPerHost(20);

80 個以上のシャードには設定が少なすぎるように思えます。

4

1 に答える 1

0

さらにデバッグを行った後、リクエストの 1 つが 4,4MB のサイズであることがわかりました。tomcat6 のデフォルトの maxPostSize は 2MB です ( http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html )。

それを10MBに変更すると、solr側の状況が大幅に改善されました。

于 2013-05-03T16:39:03.867 に答える