遇到一個mongodb連接的問題,描述如下:
連接mongodb程式跑起不久后,訪問mongodb資料庫讀取資料時出現例外com.mongodb.MongoSocketReadException: Prematurely reached end of stream,另起客戶端想登陸mongodb也登錄不了,查看mongodb的連接數發現連接被占滿了,要重啟mongodb服務器才好轉。
我試過很多種除錯方案:
1.將mongodb連接的最大存活時間縮短,正常情況下連接也都釋放掉了,當并發訪問時就出現不能釋放連接的情況,一直占著,把程式停了也不能釋放,只有重啟mongodb服務器才能釋放。
2.由于專案使用的是mongo-java-driver+spring-data-mongodb操作資料庫,一開始懷疑是spring-data-mongodb有坑,后來做一次使用mongo-java-driver提供的api來操作資料庫,自己手動創建和關閉連接,但是在壓力測驗進行并發訪問的時候還是有連接數下不了一直占用著。
遇到這歌問題好久了,希望有同樣遇到過此問題的大神們不惜賜教,感激不盡。
uj5u.com熱心網友回復:
mongodb不是默認30000連接 都占滿了 是程式段沒控制好吧uj5u.com熱心網友回復:
買的阿里云的mongo服務只有兩百個連接,而且字典也是控制好的uj5u.com熱心網友回復:
后來問題處理了嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/108012.html
標籤:MongoDB
