tomcat响应http请求超时问题。

问题描述:将一个web工程部署到两台机子AB上,浏览器页面通过post请求传递一个4M的参数到A上,A将参数和请求转发给B处理,B处理完成以后返回一个好几M的数据给A,然后A将此B返回的数据传递给页面进行显示。AB机子都是用的tomcat。JS设置的AJAX请求超时时间为110s,现在出现的问题是后台处理完成以后,页面却显示超时。请问是http协议的问题还是tomcat服务器的问题又或者是别的问题,原理是什么。

尝试的解决办法:最初怀疑是jvm内存不够,于是tomcat启动时设置jvm的初始内存大小,效果不大。求各位大佬指点。
...全文
2803 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
getdate 2019-07-08
  • 打赏
  • 举报
回复
引用 2 楼 一只初窥门径的java程序员 的回复:
[quote=引用 1 楼 getdate 的回复:]

<Connector port="8080" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
              redirectPort="8443" acceptCount="500" maxThreads="400" />
connectionTimeout以毫秒为单位,默认设置为20秒。通过修改该参数,可以修改tomcat的请求超时时间; 两个Tomcat都设置下试试; 还有,看看你的前端有没有设置超时时间.
前端设置了超时时间,然后A通过建立HTTP连接将请求转发给B,这里设置了http的连接超时时间和读取数据的超时时间,让B进行数据的业务处理然后返回给A,我猜想是不是HttpConnection的超时时间设置得太小了。不过看了你的看法,我觉得你说的可能性很大,可能跟tomcat的超时设置有关系。[/quote] 如果前端设置超时时间了,那我建议你首先将超时时间设置大些,HttpConnection 设置大些. 两个方向都进行吧, 还有查看下你的业务处理,是不是可以优化下.减少处理时间.
  • 打赏
  • 举报
回复
引用 1 楼 getdate 的回复:

<Connector port="8080" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
              redirectPort="8443" acceptCount="500" maxThreads="400" />
connectionTimeout以毫秒为单位,默认设置为20秒。通过修改该参数,可以修改tomcat的请求超时时间; 两个Tomcat都设置下试试; 还有,看看你的前端有没有设置超时时间.
前端设置了超时时间,然后A通过建立HTTP连接将请求转发给B,这里设置了http的连接超时时间和读取数据的超时时间,让B进行数据的业务处理然后返回给A,我猜想是不是HttpConnection的超时时间设置得太小了。不过看了你的看法,我觉得你说的可能性很大,可能跟tomcat的超时设置有关系。
getdate 2019-07-08
  • 打赏
  • 举报
回复

<Connector port="8080" protocol="HTTP/1.1" 
              connectionTimeout="20000" 
              redirectPort="8443" acceptCount="500" maxThreads="400" />
connectionTimeout以毫秒为单位,默认设置为20秒。通过修改该参数,可以修改tomcat的请求超时时间; 两个Tomcat都设置下试试; 还有,看看你的前端有没有设置超时时间.

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧