我不是这台服务器的系统pipe理员,但是我正在帮助那些系统pipe理员的团队快速find修复。 由于这个原因,我没有访问所有的服务器configuration文件。
就这样,这是我的问题:
这是关于使用Sun Java System Web Server 6.1和Sun Java System Application Server 8.1的Solaris机器上的Java EE应用程序。 Web服务器充当到应用程序服务器的请求的代理。 我的理解是,它也被设置为一个负载平衡器,但它只指向一个应用程序实例,所以似乎没有什么可以平衡。
当通过代理向应用程序发出请求时,我们会间歇性地看到一个紫色/蓝色的页面,内容如下:
Due to a temporary error the request could not be serviced. The problem could be because: - The server is busy. - The server is temporarily unavailable. You may choose to resubmit the request, but be aware that the request might have already been processed. Depending on the type of request, you may not want it to be processed twice. Please click here to re-submit.
有几件事要注意:
什么可能导致这个错误页面?
谢谢,杰夫
更新:
这是负载均衡器configuration:
<!DOCTYPE loadbalancer PUBLIC“ - // Sun Microsystems Inc. //DTD Sun ONE Application Server 7.1 // EN”“sun-loadbalancer
_1_1.dtd“>
<负载均衡器>
<cluster name =“cluster1”>
<instance name =“instance1”enabled =“true”disable-timeout-in-minutes =“60”listeners =“http://host.domain.com:32000”/>
<web-module context-root =“/ applicationContext”enabled =“true”disable-timeout-in-minutes =“60”error-url =“sun-http-lberror.html”/>
<health-checker url =“/ applicationContext”interval-in-seconds =“30”timeout-in-seconds =“10”/>
</集群>
<cluster name =“other_cluster”>
<instance name =“other_host”enabled =“true”disable-timeout-in-minutes =“60”listeners =“http://host2.domain.com:80000”/>
</ web-module context-root =“/ otherContext”enabled =“true”disable-timeout-in-minutes =“60”error-url =“./ sun-http-lberror.html”/>
<health-checker url =“/ otherContext”interval-in-seconds =“30”timeout-in-seconds =“10”/>
</集群>
<property name =“reload-poll-interval-in-seconds”value =“60”/>
<property name =“response-timeout-in-seconds”value =“600”/>
<property name =“https-routing”value =“false”/>
<property name =“require-monitor-data”value =“false”/>
</负载均衡器>
看起来,如果代理服务器按照您的说法设置为负载平衡,并且只能指向一个服务器,则有时候负载平衡认为目标应用程序服务器太忙,并且会出现该错误。
你能把你看到的错误与服务器上的任何负载相对应吗? 有没有办法使负载均衡和testing? 你可以configuration负载平衡器设置/查看它们是否有非常保守的阈值?
我会怀疑运行状况检查function,并确定后端服务器不可用。 也许尝试增加运行状况检查程序configuration中的超时值或完全禁用它。 由于只有一个应用程序服务器进行代理,所以这不会导致任何丢失的function。