關於MongoDB最大串連數的查看與修改

來源:互聯網
上載者:User

標籤:

在Linux平台下,無論是64位或者32位的MongoDB預設最大串連數都是819,WIN平台不知道,估計也沒有人在 WIN平台下使用MongoDB做生產環境

[[email protected] mongodb-linux-i686-2.4.1] #  ./bin/mongo 192.168.6.42
MongoDB shell version: 2.4.1

connecting to: 192.168.6.42/test

> db.serverStatus().connections

{  " current " : 1,  " available " : 818,  " totalCreated

"

: NumberLong(1) }

途中available顯示818少了一個,表示閒置。current表示已經佔用了的串連數,兩數一加就等於819,如果我現在在串連一個,那麼available就是817,current就是2

[[email protected] mongodb-linux-i686-2.4.1] #  ./bin/mongo 192.168.6.42
MongoDB shell version: 2.4.1

connecting to: 192.168.6.42/test

> db.serverStatus().connections

{  " current " : 1,  " available " : 818,  " totalCreated " : NumberLong(1) }

> db.serverStatus().connections

{  " current " : 2,  " available " : 817,  " totalCreated

"

: NumberLong(2) }

819個串連數對於一般的網站我認為已經夠用,並且都是現連現取現斷。但這個串連數也可以修改,只要在啟動的時候加入--maxConns即可

伺服器啟動

[[email protected] mongodb-linux-x86_64-2.4.1] #  ./bin/mongod --dbpath=/root/db --maxConns=2000
Wed Apr 3 11:06:21.905 [initandlisten] MongoDB starting : pid=2812 port=27017 dbpath=/root/db 64-bit host=lee

Wed Apr 3 11:06:21.957 [initandlisten] db version v2.4.1

Wed Apr 3 11:06:21.957 [initandlisten] git version: 1560959e9ce11a693be8b4d0d160d633eee75110

Wed Apr 3 11:06:21.957 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen  # 1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Wed Apr 3 11:06:21.957 [initandlisten] allocator: tcmalloc

Wed Apr 3 11:06:21.957 [initandlisten] options: { dbpath:  " /root/db " , maxConns: 2000 }

Wed Apr 3 11:06:21.982 [initandlisten] journal dir=/root/db/journal

Wed Apr 3 11:06:21.982 [initandlisten] recover : no journal files present, no recovery needed

Wed Apr 3 11:06:22.297 [initandlisten] preallocateIsFaster=true 2.62

Wed Apr 3 11:06:22.717 [initandlisten] --maxConns too high, can only handle 819

Wed Apr 3 11:06:22.724 [initandlisten] waiting  for connections on port 27017

Wed Apr 3 11:06:22.725 [websvr] admin web console waiting  for connections on port 28017

Wed Apr 3 11:06:25.126 [initandlisten] connection accepted  from 192.168.4.86:53917  #

1 (1 connection now open)

查詢最大串連數

[[email protected] mongodb-linux-i686-2.4.1] #  ./bin/mongo 192.168.6.42
MongoDB shell version: 2.4.1

connecting to: 192.168.6.42/test

> db.serverStatus().connections

{  " current " : 1,  " available " : 818,  " totalCreated " : NumberLong(1) }

發現還是819?其實是Linux預設進程能開啟最大檔案數有關,可以通過ulimit 解決

[[email protected] mongodb-linux-x86_64-2.4.1] #  ulimit -n 2500
[[email protected] mongodb-linux-x86_64-2.4.1] #  ./bin/mongod --dbpath=/root/db --maxConns=2000
Wed Apr 3 11:11:07.013 [initandlisten] MongoDB starting : pid=2930 port=27017 dbpath=/root/db 64-bit host=lee

Wed Apr 3 11:11:07.013 [initandlisten] db version v2.4.1

Wed Apr 3 11:11:07.013 [initandlisten] git version: 1560959e9ce11a693be8b4d0d160d633eee75110

Wed Apr 3 11:11:07.013 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen  # 1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Wed Apr 3 11:11:07.013 [initandlisten] allocator: tcmalloc

Wed Apr 3 11:11:07.013 [initandlisten] options: { dbpath:  " /root/db " , maxConns: 2000 }

Wed Apr 3 11:11:07.031 [initandlisten] journal dir=/root/db/journal

Wed Apr 3 11:11:07.031 [initandlisten] recover : no journal files present, no recovery needed

Wed Apr 3 11:11:07.170 [initandlisten] waiting  for connections on port 27017

Wed Apr 3 11:11:07.171 [websvr] admin web console waiting  for connections on port 28017

Wed Apr 3 11:11:10.076 [initandlisten] connection accepted  from 192.168.4.86:53161  #

1 (1 connection now open)

再查看最大串連數,搞定

[[email protected] mongodb-linux-i686-2.4.1] #  ./bin/mongo 192.168.6.42
MongoDB shell version: 2.4.1

connecting to: 192.168.6.42/test

> db.serverStatus().connections

{  " current " : 1,  " available " : 1999,  " totalCreated " : NumberLong(1) }

關於ulimit的更多知識大家可以去網上檢索檢索

    • 本文來自:Linux教程網

關於MongoDB最大串連數的查看與修改

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.