Apache2 apache web服务器和weblogic群集的会话超时。响应中的JSESSIONID与请求中的JSESSIONID不同

Apache2 apache web服务器和weblogic群集的会话超时。响应中的JSESSIONID与请求中的JSESSIONID不同,apache2,session-timeout,weblogic-10.x,Apache2,Session Timeout,Weblogic 10.x,我们有一个apache web服务器(版本httpd-2.2.22-win32-x86-openssl-0.9.8t),其weblogic(版本10.3.2)集群有3个节点。在我们的负载测试中,在某些情况下会出现会话超时错误(小于1%)。即使weblogic节点的web.xmls中的会话超时为-1,这种情况也会发生。经过几天的调试,我们意识到在某些情况下,响应不遵守由请求发送的JSessOID。Fiddler跟踪显示响应有一个名为Set Cookie:JSESSIONID的头,该头的值与请求中发

我们有一个apache web服务器(版本httpd-2.2.22-win32-x86-openssl-0.9.8t),其weblogic(版本10.3.2)集群有3个节点。在我们的负载测试中,在某些情况下会出现会话超时错误(小于1%)。即使weblogic节点的web.xmls中的会话超时为-1,这种情况也会发生。经过几天的调试,我们意识到在某些情况下,响应不遵守由请求发送的JSessOID。Fiddler跟踪显示响应有一个名为Set Cookie:JSESSIONID的头,该头的值与请求中发送的JSESSIONID不同。我们立即获得会话到期页面。如前所述,这种情况仅在少数情况下发生。

使用WeblogicCluster时,请求具有会话关联性。因此,请求将转到进行初始联系的同一节点。但问题是,在高负载下,节点没有响应。因此,请求会转到其他节点。这是WeblogicCluster的默认行为。由于我们没有启用会话复制和故障切换,任何到辅助节点的请求都会给我们会话超时错误。 解决这个问题的一个解决方案是在weblogic中开始支持会话复制和故障切换。但我们不希望这样,因为影响很大

这些是解决此问题的配置更改

在httpd.conf中

    ConnectTimeoutSecs 50 (default is 10)
    ConnectRetrySecs 5 (default is 2)
    WLSocketTimeoutSecs 10 (default is 2)
    WLIOTimeoutSecs 18000 (default is 300)
    Idempotent OFF (default is ON)
ConnectTimeoutSecs和ConnectRetrySecs中的前两个更改意味着 重试次数为10次(50/5),而不是默认的5次(10/2)

在weblogic节点中

domain --> environment --> servers --> click on the required server -->
    tuning--> Accept Backlog:
    --> default value is 300. Made it 375.
   restart the weblogic nodes and apache
有关更多详细信息,请参阅 . 有关详细信息,请参阅此处的图表