我是Java / Apache tomcat的新手
我需要使用java在azure云服务中构建一个Web服务。 Web服务在apache tomcat 7,jdk 1.7上运行,并且正在运行在azure vm上运行的mongo-db。
该服务用作存储在mongodb中的位复杂键值数据的“代理”,并且应该在不久的将来大量请求。
它在开发上运行良好,在开始使用时进行生产(每天约100K请求)它开始在一段时间后返回500(502和503)。重新启动云服务服务器正在解决此问题,但在一两天后又会再次发生。
它似乎与大负载无关,因为CPU统计数据很好(不超过70%,大多数是30%)。
问题与mongodb没有关系,因为它的CPU不到2%,重启java角色时一切正常。
我错过了服务器设置中的内容吗?
答案 0 :(得分:0)
听起来像是内存泄漏。应用标准的故障排除技术 - Azure与运行Java相比没有任何其他环境。您需要在开发环境中进行一些负载测试,模拟您的~100k / 24小时请求(每秒1.15请求,听起来不那么高)。