erlang单个节点的一个端口的tcp最大链接数取决于两个方面:
1.取决于单个文件的io句柄数,用
```erlang
erlang:system_info(check_io).
```
里面的{max_fds, 1024}查看。
2.单个port的最大链接数:
```erlang
erlang:system_info(port_limit).
```
查看。
第一个限制,通过执行命令
```shell
ulimit -S -n 10000
```
来修改。
修改后,当前终端的回话的io句柄最大值就被修改成2048了,在本会话运行erlang虚拟机,查看check_io变成2048但其他会话还保持默认值。
值得注意的是,一个客户端到服务端的链接是占用1个IO句柄,即服务端的tcp socket。
如果是在本地机器做测试则会占用2个tcp链接数。一个客户端一个服务端的。