recherche

Maison  >  Questions et réponses  >  le corps du texte

node.js - nodejs做后台,每天都会出现“有数据库操作的请求无返回”的情况

我们使用NodeJs做服务器开发,使用的是Express框架,数据库用的阿里云的MySQL RDS,nodejs连接mysql的包选用的是mysql(https://www.npmjs.com/package...

这几天只要UV上到1000,就会出现“跟数据库有关的请求无返回”的情况,一直是pending状态。页面都能正常返回。重启一下服务器就又好了。

从服务器后台和数据库服务器后台的日志中都看不到任何错误,监控也都正常。
请问这是什么情况啊?该怎么解决?

PS:我们现在的数据库操作代码都是抄的网上的入门级教程,在实际应用中总感觉不够靠谱。请问哪里可以找到企业级的MySQL数据库操作教程啊,比如要考虑哪些方面,如何编写可靠的数据库代码等。多谢

怪我咯怪我咯2787 Il y a quelques jours364

répondre à tous(3)je répondrai

  • PHPz

    PHPz2017-04-17 15:56:20

    说下我个人的猜想 没有用连接池 拿了连接没有关闭 打开mysql show processlist; 看一下连接

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 15:56:20

    应该是进程有挂起吧,应该安装一个connect-timeout组件,设置3秒链接无响应就返回503超时的信息,另外用守护进程来维持node.js的服务器运行,我们也是刚开始用express做完一个项目,用的守护进程是strongloop,也是担心出现你说的问题,目前我们这边能想到的就是这些了,另外有本书是nodejs与express开发,这本书上也有些内容可以帮助你的,操作数据库我们选择的是sequelize这个orm框架,希望多多交流

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-17 15:56:20

    个人觉得 @Mrxiuxiu 他说的有道理,是不是链接上了 没释放造成的。

    répondre
    0
  • Annulerrépondre