老哥們,在下目前的專案遇到一個bug,無法重現
具體表現為:
node命令列顯示能收到請求
前台收不到任何伺服器的返回
前台post資料到後台,資料庫沒有被寫入
重啟node程式即可正常工作
伴隨有資料庫崩潰,不遺失資料,無法確認因果關係,不同時發生
#目前沒有什麼解決思路,也不能重現問題,僅有一些猜測:
node異常 node執行程式某一部分的時候似乎被阻塞了,但是程式全是異步寫的,目前沒看到有用同步的地方,在下對node底層不熟,也不知道存不存在這種情況
資料庫異常 這個看起來好像更合理,因為命令列打印,說明程式應該沒死,然後到資料庫的請求一直得不到返回,程式就像假死了一樣,但是也有奇怪的地方,因為資料庫出錯那為什麼重啟node程式就可以正常工作了?
資料庫驅動異常 如果是這種情況好像重啟程式就正常也有了解釋,驅動設定應該是沒問題的
node版本: 6.10.* LTS 框架: express
伺服器: win server 2012
#資料庫: arangodb 驅動程式: arangojs
想問大家的問題:
之前在網路上看到一篇關於node統計每個函數運行時間的指令...沒記錄忘了(尷尬).搜也搜不出來,有老哥知道嗎?
有老哥遇到類似的問題嗎? 是什麼原因,怎麼調試解決的?
#node.js或express下如何弄一個如果回應時間超過多少就不處理的東西
任何建議
happy holiday
我遇到過類似的情況,資料庫是用的MySQL,造成的原因是高並發產生了大量的資料庫連接,一方面資料庫對連接數量有限制,另一方面程式中資料庫操作完了之後沒有斷開連接或pool連接池沒有release掉,僅供參考。