Azure web角色runnig Java返回500

Azure web角色runnig Java返回500,java,apache,tomcat,azure,azure-web-roles,Java,Apache,Tomcat,Azure,Azure Web Roles,我是Java/ApacheTomcat新手 我需要使用java在azure云服务中构建一个web服务。 web服务运行在ApacheTomcat7、JDK1.7上,并与运行在azure vm上的mongo db通信 该服务被用作存储在mongodb中的稍微复杂的键值数据的“代理”,在不久的将来应该会有大量的请求 它在开发上工作得很好,当开始在生产上使用它时(每天约10万个请求),一段时间后它开始返回500个(502和503个)。重新启动云服务服务器可以解决此问题,但一两天后,这种情况再次发生 这

我是Java/ApacheTomcat新手

我需要使用java在azure云服务中构建一个web服务。 web服务运行在ApacheTomcat7、JDK1.7上,并与运行在azure vm上的mongo db通信

该服务被用作存储在mongodb中的稍微复杂的键值数据的“代理”,在不久的将来应该会有大量的请求

它在开发上工作得很好,当开始在生产上使用它时(每天约10万个请求),一段时间后它开始返回500个(502和503个)。重新启动云服务服务器可以解决此问题,但一两天后,这种情况再次发生

这似乎与大负载无关,因为CPU状态良好(不超过70%,大部分为30%)

这个问题与mongodb无关,因为它的CPU不足2%,当重新启动java角色时,一切正常


我是否遗漏了服务器设置中的某些内容?

听起来像是内存泄漏。应用标准的故障排除技术-Azure与其他任何环境运行Java没有什么不同。您需要在开发环境中进行一些负载测试,以模拟约100k/24小时的请求(即每秒1.15个请求,听起来并不那么高)。

您可能是对的,我在代码中有一个连接没有关闭,导致了一些资源瓶颈(我认为网络连接限制…)