搜尋

首頁  >  問答  >  主體

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

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

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

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

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

怪我咯怪我咯2787 天前362

全部回覆(3)我來回復

  • PHPz

    PHPz2017-04-17 15:56:20

    說下我個人的猜想 沒有用連接池 拿了連接沒有關閉 打開mysql show processlist; 看一下連接

    回覆
    0
  • PHP中文网

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

    應該是進程有掛起吧,應該安裝一個connect-timeout元件,設定3秒連結無回應就回傳503超時的信息,另外用守護程式來維持node.js的伺服器運行,我們也是剛開始用express做完一個項目,用的守護進程是strongloop,也是擔心出現你說的問題,目前我們這邊能想到的就是這些了,另外有本書是nodejs與express開發,這本書上也有些內容可以幫助你的,操作資料庫我們選擇的是sequelize這個orm框架,希望多多交流

    回覆
    0
  • PHP中文网

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

    個人覺得 @Mrxiuxiu 他說的有道理,是不是連結上了 沒釋放造成的。

    回覆
    0
  • 取消回覆