运行环境是linux+ apache+ tomcat,系统使用了一年多了,最近突然出现了问题。
前台提交请求后,后台执行,如果后台的执行时间在5分钟之内的话,没有任何问题,
但是执行时间一旦超过5分钟,后台会一直到处理完成,但前台却再也得不到响应,
直到3600秒后timeout(3600秒为设定值)。
本来以为是apache或者tomcat的配置有问题,更改了配置,不起作用。与此同时
发现如果用局域网的IP(192.168.XXX.XXX)来访问的话,不存在5分钟的限制,但是
用实际IP(210.XXX.XXX.XXX)或这服务名来访问的时候,就出现5分钟限制了。是网络的问题吗?防火墙?对网络硬件软件不是很了解,麻烦各位给个提示,缩小
问题的范围,服务器在数据中心托管,范围缩小了才可以请求对方协助调查。

解决方案 »

  1.   

    首先排除sql语句性能的问题,在去看看网络问题,首先可以短暂的将防火墙关闭,使用外网地址访问下;再者可以使用HttpWatch工具查看各个过程的执行时间,看看时间比较长的是在哪个环节。
      

  2.   

    BS结构通过tcp/ip协议走数据,
    而本身tcp/ip协议就有超时,
    5分钟的等待的话,
    我估计lz的应用可能是超过这个时间了。
    也就是从根上超时了。PS:什么样的处理需要5分钟?
    如果能分解开,应该分开做。如果不能分开,起码也要返回一个友好点的界面,说“正在处理中”什么的,
    然后前台启动一个“探测器”,时不时的看看操作完成没有。
    完成了,再给前台一个提示
    (基于ajax应用很容易实现)不知道怎么设计的。绝对瑕疵good luck