Etcd 的最大連接數問題 (grpc 的最大連接數問題)

最近有個項目要用 etcd ,同時會有很多服務來連 etcd ,但是沒搞清楚 etcd 的最大連接數是多少,總是心裏虛,雖然可以壓測。

  • 首先試了一下,測試機器上可以創建多少個連接,大概 879 個左右。但是爲什麼是 879 個呢?etcd 用的是 grpc,所以 etcd 的最大連接數問題也是 grpc 的最大連接數問題。
  • 所以去 grpc-java 的 issues 上找了一下,正好發現有人提了一個:How support 20K connections in server PC,裏面有詳細解答。
  • 在機器上執行以下命令:
~$ ulimit -Hn
4096

~$ ulimit -Sn
1024
  • Linux 對於單個進程打開的文件數量是有限制的,我的機器上單個進程最多隻能打開 1024 個文件,所以創建的連接數也會在 1024 以下。在下學藝不精,對於網絡還不是特別熟悉,以後要惡補網絡知識了。
  • 可以通過 ulimit -Sn 4096 來提高可以打開的文件數,這個數字不能超過 ulimit -Hn 得到的結果。之後果然可以創建更多的連接了。

結束語

  • 在下太弱,路漫漫其修遠兮,要加油加油!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章