2014-02-06 71 views
0

我是新来的Java/Apache tomcatAzure web角色runnig Java返回500

我需要使用java在azure云服务中构建Web服务。 Web服务运行在apache tomcat 7,jdk 1.7上,并与一个在azure虚拟机上运行的mongo-db通信。

该服务被用作存储在mongodb中的位复杂键值数据的“代理”,并且在不久的将来它应该被大量请求。

它在开发过程中可以很好地工作,在生产中开始使用它时(约100K请求一天),它在一段时间后开始返回500(502和503)。重新启动云服务服务器正在解决此问题,但在一两天后它再次发生。

它似乎并不是与大负载相关的事情,因为CPU数据很好(不超过70%,大部分为30%)。

这个问题与mongodb无关,因为它的CPU小于2%,并且在重新启动java角色时它一切正常。

我错过了服务器设置中的一些东西吗?

回答

0

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

+0

好吧,你可能是正确的,我有没有关闭的代码连接,并导致一些资源瓶颈(我认为网络连接限制..) –