SolrNet连接错误(IIS-> Tomcat),因为同一子网上的服务器之间只有两个并发连接

时间:2012-01-18 11:28:13

标签: .net iis solr httpwebrequest solrnet

我有一台IIS服务器,它使用SolrNet提供搜索页面。搜索索引是Solr,在Tomcat内运行,位于同一子网(在同一个房间)的单独机器上。

我从IIS到搜索服务器出现间歇性连接错误,主要是(InnerException):

Error: The operation has timed out
In: System.Net.WebResponse GetResponse()
Stack Trace: at System.Net.HttpWebRequest.GetResponse()
at HttpWebAdapters.Adapters.HttpWebRequestAdapter.GetResponse()

有时(InnerException):

Error: Unable to connect to the remote server
In: System.Net.WebResponse GetResponse()
Stack Trace: at System.Net.HttpWebRequest.GetResponse()

我认为问题是IIS只有两个并发连接到Tomcat(我可以使用CurPorts看到),所以最终调用得到了如此备份它超时,但我无法解决为什么。我在同一台服务器上的预览站点能够创建更多连接,但在web.config中使用此代码增加设置没有任何区别:

<connectionManagement>
  <add address="*" maxconnection="100"/>
</connectionManagement>

我已经使用以下方法将SolrNet超时时间增加到30秒

SolrNet.Startup.Init<SolrDataObject>(new SolrNet.Impl.SolrConnection(System.Configuration.ConfigurationManager.AppSettings["SolrURL"]) { Timeout = 30000 });

我第一次问this question这些相同的错误 - 我发现从IIS到Tomcat只有两个连接,这似乎是导致这个问题的原因。

1 个答案:

答案 0 :(得分:0)

这是因为machine.config显然只对IIS中的某些站点锁定 - 虽然我不确定是怎么回事,但是更改machine.config修复了这个问题。

(这没有解决潜在的问题,但我现在会更新)