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 得到的结果。之后果然可以创建更多的连接了。

结束语

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