使用 16G 内存的阿里云主机,发现连接数超过 500,整个 frp 服务卡死没法用了。
日志报错: error: no available port
同事发现了问题原因:
supervisor
管理,默认minfds
限制了文件描述符的数量systemctl
管理,添加LimitNOFILE
和LimitNPROC
取消文件描述符和进程的限制经过测试,单个frps实例,能够接手1w+的frpc连接数量
1
AIFNI45Mdxn 2020-10-22 11:28:38 +08:00
提交工单让工程师看看靠谱,毕竟这个东西吧涉及的太多方面了
|
2
privil 2020-10-22 11:30:05 +08:00 1
no available port,朋友,那么明显的报错噢。
|
3
TEwrc 2020-10-22 11:33:15 +08:00
已经稳定的可以拿来商用了吗?
|
4
xdeng 2020-10-22 11:44:33 +08:00
你端口范围限定了 500 个?
|
5
lopetver 2020-10-22 11:47:30 +08:00
4H8G10M-100 左右,很稳定
|
6
halk OP |
9
privil 2020-10-22 14:08:29 +08:00
linux 总共有 65535 端口可用,而具体到程序可用的随机端口值为 /proc/sys/net/ipv4/ip_local_port_range,你 frp 服务器对外发出连接是需要消耗这些端口的,你现在五百个对外的服务不断的消耗端口,估计已经耗尽了。
|
10
jim9606 2020-10-22 14:12:58 +08:00
你是不是没有增大 ulimit 打开文件数
我记得默认值并不高 |
11
samondlee 2020-10-22 14:18:28 +08:00
|
12
wangyzj 2020-10-22 14:35:39 +08:00
ulimit 的问题
|
13
halk OP |
14
Jooooooooo 2020-10-22 14:51:01 +08:00
调一下
我们这边有连好几千个机器的 |
15
halk OP |