日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MongoDB 连接数高产生原因及解决

發布時間:2025/5/22 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MongoDB 连接数高产生原因及解决 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? MongoDB Sharding架構下連接數很容易達到很高,這里連接數分為幾個概念: tcp 連接數 netstat可以統計的,一般這個是最高.如果mongod/mongos在同一臺服務器,更明顯。 參考命令:

netstat -ant|awk ‘{print $5}’ |awk -F: ‘{print $1}’|sort |uniq -c|sort -rn mongos/mongod

連接數 mongostat/db.serverStatus()/connPoolStats

可統計。

連接數多高算高呢?

這要看連接到mongodb集群應用服務器實例數、qps(增刪改查)等判斷。 應用服務器單臺,如果qps<100, ,mongos連接數超過2000,肯定是高了。這一般是由于連接池配置不合理導致。 mongod/mongos 默認最大連接數maxConns=20000,2.4版本及以前版本最大不能超過這個數值,2.6版本(開發版2.5版本)取消這個限制。 相關鏈接http://nosqldb.org/topic/50ca8a50ee680fee790001f2

什么原因導致連接數過高

  • 連接池配置不合理 分片情況下,現象是tcp 連接數過高(如達到20000),mongos連接數過高(如超過10000) java為例,connectionsPerHost 不宜配置過大,官方默認值由原來10改成100了,而且有默認5倍的乘數(threadsAllowedToBlockForConnectionMultiplier),一般20~50就可以了。

  • 應用服務器實例過多

我們遇到的場景,當連接到mongos的應用服務器(如Tomcat實例數量)過百,甚至達到近200臺時,tcp連接數超高,達到15000以 上,查看mongod對應端口連接數高達8000多,mongos 2000多。此時ops(query,insert,update,delete)低于200每秒,。定期重啟(如一周一次)mongos可適當緩解該問 題。

  • mongodb本身的原因 表現為mongos連接數不高(如1000+),mongod連接數比較高(如8000+)。

如何解決 總結一下,連接數高分為幾個場景: 應用服務器實例過多,可統計每個實例建立的連接數,適當調低連接池參數。 mongos連接數高,這種就是配置的問題,更改連接池參數。 mongos連接數不高,mongod連接數比較高,如超過5000,如果連接池配置合理還比較高的話,嘗試啟用releaseConnectionsAfterResponse參數(2.2.4版本以上),該參數為 隱藏參數releaseConnectionsAfterResponse

mongos> use admin switched to db admin mongos> db.runCommand({ setParameter : 1, releaseConnectionsAfterResponse : true }) { "was" : false, "ok" : 1 }

或者

shell> mongos --setParameter "releaseConnectionsAfterResponse=true" --configdb ...

該參數注意事項: 寫操作需要立即調用getLastError (w=1,即安全寫模式),w=2(等待從庫寫確認)的時候可能會有些錯誤。 升級過后,或者重啟mongos進程后,需要重新設置該參數,該參數只對單個mongos生效。 啟用releaseConnectionsAfterResponse 參數,tcp 連接數明顯降低到比較穩定數目。幾個小時,tcp連接數從8000多降到4000多,效果不錯。

  • releaseConnectionsAfterResponse 參數原理

通常,對于每個mongos->mongod連接是單獨緩存的,并且該連接不能重復使用,即使該連接是空閑時也是如此,一直到連接關閉連接回 到連接池中才能再使用;releaseConnectionsAfterResponse 參數啟用后,mongos->mongod之間的連接在完成一個讀操作或者安全寫操作后能夠重復使用(把連接放到連接池中而不是緩存,即更早的回歸 到連接池中),releaseConnectionsAfterResponse參數簡單講就是mongos->mongod的連接更早的回到連接 池中,這樣就不會開太多的連接了,從而減少連接數。 Create a new serverParameter for mongos, “releaseConnectionsAfterResponse,” which enables returning ShardConnections from the per-socket pool to the global pool after each read operation. This should reduce the total number of outgoing mongos connections to each shard. the option allows better use of the connection pool, it doesn’t invalidate the connections in the pool. Normally, mongos->mongod connections for insert/update/delete/query are cached individually for each incoming connection, and can’t be re-used until the incoming connection is closed, even if they are idle and there are other active incoming connections. What the releaseConnectionsAfterResponse option does is allow the mongos->mongod connection to be re-used (returned to the pool) after any read op (including getLastError(), so after safe writes as well). It shouldn’t have a significant performance impact - the connection isn’t destroyed, it’s just returned from the incoming connection cache to the shared pool early.

代碼: https://github.com/mongodb/mongo/commit/706459a8af0b278609d70e7122595243df6aeee8 https://github.com/mongodb/mongo/commit/74323d671a216c8c87fcb295ed743f830d5212ee https://github.com/mongodb/mongo/commit/5d5fe49dfb5f452832b9d44fddbfb2a4e8b42f2a

=============== - connPoolTimeout設置

(該參數不在官方沒有) 效果

mongos> db.runCommand({ setParameter : 1, connPoolTimeout : 900 }) { "was" : 1800, "ok" : 1 }

初步測試,效果不明顯。

  • releaseConnections

計劃添加個命令releaseConnections,從mongod運行,減少復制集連接數

轉載于:https://www.cnblogs.com/taozi32/p/5375362.html

總結

以上是生活随笔為你收集整理的MongoDB 连接数高产生原因及解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一二三区精品 | 国产超碰av | 青青草视频免费看 | 日少妇av | 免费一级片 | 国产在线午夜 | 欧美黄频| 91视频综合网 | 久久激情小说 | 日本特黄特色aaa大片免费 | 中文字幕精品三区 | 毛片无码免费无码播放 | 两性免费视频 | 狂野欧美性猛交blacked | 亚洲日本中文字幕 | 中文字幕一二 | 日韩亚洲在线 | 蜜桃tv在线观看 | 中国美女一级黄色片 | 五月导航| 国产精品777| 国产成人免费 | 午夜剧场免费观看 | 免费在线黄色网 | 99国产免费 | 欧美日本韩国一区 | 穿情趣内衣被c到高潮视频 欧美性猛交xxxx黑人猛交 | 男人的天堂一级片 | 欧美精品videos另类 | 午夜影院在线观看18 | 日韩av一区在线观看 | 亚洲综合婷婷久久 | 亚洲国产精品久久久久婷婷老年 | 美国黄色片网站 | 老色批永久免费网站www | 伊人影院在线观看视频 | 久久裸体视频 | 色婷婷av一区二区三区在线观看 | 国产成人tv | 精品免费在线观看 | a√在线观看 | 欧美日韩一区电影 | 欧美 亚洲 一区 | 北条麻妃久久精品 | 久久久久久久久久99精品 | 亚洲午夜久久久 | 日本黄色xxxx| 久久婷婷av | 精品无码久久久久久久久果冻 | 午夜影院在线观看免费 | 亚洲精品视频一区二区 | 日韩1区2区3区 | 天天干天天透 | 在线免费观看麻豆 | 日韩精品综合 | 福利姬在线播放 | 国产妞干网| 国产精品久久久久久免费观看 | 男裸体无遮挡网站 | 91文字幕巨乱亚洲香蕉 | 欧美一区在线看 | 强伦轩人妻一区二区电影 | 亚洲一级电影 | 日韩美女视频一区二区 | 色婷婷综合成人av | 操女人视频网站 | 俄罗斯色片| 亚洲精品五月天 | 久久久久久国 | 久久这里只有精品国产 | 日韩啊啊啊 | 日韩精品观看 | 午夜成人亚洲理伦片在线观看 | 青青草原国产在线观看 | 久久久久久av无码免费网站 | 久久久久免费观看 | 激情图片在线视频 | 国产女人18毛片水真多18 | 中国男人操女人 | 在线国产视频一区 | 日本a√在线观看 | 伊人激情在线 | 91综合国产 | 欧美a视频在线观看 | 国产99久久久国产精品成人免费 | free黑人多人性派对hd | 久久久精品人妻一区二区三区四 | 青娱乐精品视频 | 欧美一区二区三区 | 欧美在线v| 人妻在客厅被c的呻吟 | 一区二区三区视频免费在线观看 | 中文av资源 | 欧美第一页草草影院 | 亚洲精品电影院 | 99在线观看 | 中国在线观看视频高清免费 | 国产自产自拍 | 97视频免费在线 |