Node.js Azure node expressjs应用程序随机崩溃,无错误

Node.js Azure node expressjs应用程序随机崩溃,无错误,node.js,azure,express,docker,Node.js,Azure,Express,Docker,我用expressjs构建了一个简单的节点应用程序,它应用socket.io。 为了让套接字在azure上以群集模式通信,该应用程序还使用azure的redis缓存 此项目已在使用docker容器的linux web应用程序下部署到azure 问题是,在18小时到36小时后(如我所见),我面临应用程序的随机崩溃,当你访问url时,你会看到nginx错误网页。 我使用了下面的代码来检测日志中的错误,并将其部署到我自己的linux机器上的一个登台环境中 process .on('unhandle

我用expressjs构建了一个简单的节点应用程序,它应用socket.io。 为了让套接字在azure上以群集模式通信,该应用程序还使用azure的redis缓存

此项目已在使用docker容器的linux web应用程序下部署到azure

问题是,在18小时到36小时后(如我所见),我面临应用程序的随机崩溃,当你访问url时,你会看到nginx错误网页。

我使用了下面的代码来检测日志中的错误,并将其部署到我自己的linux机器上的一个登台环境中

process
  .on('unhandledRejection', (reason, p) => {
    logger.error(reason, 'Unhandled Rejection at Promise', p)
  })
  .on('uncaughtException', err => {
    logger.error(err, 'Uncaught Exception thrown')
    process.exit(1)
  })
在暂存机上根本没有崩溃

我开始认为这与azure上的docker容器有关,但我没有这方面的迹象

**重要信息:web应用已设置为始终处于活动状态**


任何想法或建议

我以前也有类似的想法或建议。在我的例子中,这是因为我没有日志循环,所以日志文件将成长为一个独特的巨型文件,使得服务器无法对其进行写入。

那么,这些处理程序中是否记录了任何内容?您是否监视CPU和堆的使用?在应用程序崩溃之前,是否存在任何峰值或奇怪的异常值?可能您有一个内存泄漏,它不会在登台中表现出来,因为(我假设)那里没有太多的流量。这是我最初的想法,但我也强调测试登台。不,没有任何东西能为我指明方向。你有什么特别的想法吗?没有。如果不了解更多有关服务、设置(监控)和流量模式的信息,很难说。请记住,如果流量模式不同,压力测试不一定会导致您在产品中看到的问题。