node.js调试问题

查看:113
本文介绍了node.js调试问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

老哥们,在下目前的项目遇到一个bug,无法重现
具体表现为:
node命令行显示能收到请求
前台收不到任何服务器的返回
前台post数据到后台,数据库没有被写入
重启node程序即可正常工作
伴随有数据库崩溃,不丢数据,无法确认因果关系,不同时发生

目前没有什么解决思路,也不能重现问题,仅有一些猜测:

node异常 node执行程序某一部分的时候似乎被阻塞了,但是程序全是异步写的,目前没看到有用同步的地方,在下对node底层不熟,也不知道存不存在这种情况

数据库异常 这个看起来好像更合理,因为命令行打印,说明程序应该没死,然后到数据库的请求一直得不到返回,程序就像假死了一样,但是也有奇怪的地方,因为数据库出错那为什么重启node程序就可以正常工作了?

数据库驱动异常 如果是这种情况好像重启程序就正常也有了解释,驱动设置应该是没问题的

node版本: 6.10.* LTS 框架: express
服务器: win server 2012
数据库: arangodb 驱动: arangojs

想问大家的问题:

  1. 之前在网上看到一篇关于node统计每个函数运行时间的指令...没记录忘了(尴尬).搜也搜不出来,有老哥知道吗?

  2. 有老哥遇到过类似的问题吗? 是什么原因,怎么调试解决的?

  3. node.js或者express下如何弄一个如果响应时间超过多少就不作处理的东西

  4. 任何建议

happy holiday

解决方案

我遇到过类似的情况,数据库是用的MySQL,造成的原因是 高并发产生了大量的数据库连接,一方面数据库对连接数量有限制,另一方面程序中数据库操作完了之后没有断开连接或者pool连接池没有release掉,仅供参考。

这篇关于node.js调试问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆