我有一个在Tomcat 7服务器上部署的Grail中创建的Web应用程序。该应用程序读取一个CSV文件并执行一些重型操作,在此过程中最多需要5-10分钟才能完成。当在一小部分数据子集上运行时,应用程序会表现良好。但是,如果我使用大量数据,并且该请求大约需要3分钟以上,我会收到以下错误:
Network Error (tcp_error)
A communication error occurred: ""
The Web Server may be down, too busy, or experiencing other
problems preventing it from responding to requests.
You may wish to try again at a later time.
这是一个猫的问题吗?还是基于客户端浏览器属性的超时?
ive尝试在tomcat的server.xml中设置连接时间和disableuploadtime属性,但到目前为止尚无运气。
任何帮助都将不胜感激!
我发现了这个相关的问题,谈论防火墙关闭连接,我认为您正在经历类似的东西。
如果您使用的是Grails 2.3,则可以利用异步编程功能来执行重型操作并保持连接的活力(例如,在等待该过程完成过程中,每10秒发送一次Ajax调用)以避免超时。
您在catalina.out文件中看到了什么(
tail -f -n100 /var/log/tomcat7/catalina.out
另一个信息来源可能是系统日志:
dmesg --ctime
和我能想到的最后一个选项是:
netstat