我遇到了应用程序的 Apache/Tomcat/JDBC/Oracle 通信配置问题。
以下是我掌握的有关该问题的所有信息:
- Web 应用程序上的按钮启动 SQL/Oracle 程序,该程序大约需要 5 到 10 分钟才能成功结束。
- 应用程序部署在两个不同的环境中。Apache/Tomcat 服务器配置似乎相同。但物理架构却不同(内存资源等)。
- 在一个环境中,当启动该过程时,它总是在大约 5 分钟后中止,并出现错误 503:“服务不可用”。
我知道细节并不多,但是您知道发生此类错误的原因吗?
谢谢。
答案1
根据您提供的少量信息,我猜想这是一个非常密集的过程,因为它需要 5-10 分钟才能返回。我还猜想该过程在内存较少的服务器上无法完成,这就是您收到“服务不可用”消息的原因。如果您收到“请求超时”消息,那么情况就不同了,即该过程可能仍在运行,但在响应您的客户端之前没有足够的时间完成。
第二台服务器上的内存量与第一台服务器上的内存量有显著差异吗?
答案2
问题已解决:
Apache 服务器上的配置文件“http.conf”包含以下参数:
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300
此默认参数设置为 5 分钟。我扩展了此配置,以允许该过程正确终止。