V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
halk
V2EX  ›  程序员

你们的 frp 服务最多能连多少 frpc 客户端?

  •  
  •   halk · 2020-10-22 11:20:17 +08:00 · 3443 次点击
    这是一个创建于 1254 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用 16G 内存的阿里云主机,发现连接数超过 500,整个 frp 服务卡死没法用了。

    日志报错: error: no available port

    第 1 条附言  ·  2020-10-24 09:32:29 +08:00

    同事发现了问题原因:

    • frps实例1使用supervisor管理,默认minfds限制了文件描述符的数量
    • frps实例2使用systemctl管理,添加LimitNOFILELimitNPROC取消文件描述符和进程的限制

    经过测试,单个frps实例,能够接手1w+的frpc连接数量

    15 条回复    2020-10-22 14:53:23 +08:00
    AIFNI45Mdxn
        1
    AIFNI45Mdxn  
       2020-10-22 11:28:38 +08:00
    提交工单让工程师看看靠谱,毕竟这个东西吧涉及的太多方面了
    privil
        2
    privil  
       2020-10-22 11:30:05 +08:00   ❤️ 1
    no available port,朋友,那么明显的报错噢。
    TEwrc
        3
    TEwrc  
       2020-10-22 11:33:15 +08:00
    已经稳定的可以拿来商用了吗?
    xdeng
        4
    xdeng  
       2020-10-22 11:44:33 +08:00
    你端口范围限定了 500 个?
    lopetver
        5
    lopetver  
       2020-10-22 11:47:30 +08:00
    4H8G10M-100 左右,很稳定
    halk
        6
    halk  
    OP
       2020-10-22 12:45:08 +08:00
    @privil 这个机器没跑别的,只有 frp 服务
    ```
    ulimit -n
    65535
    ```
    @xdeng 端口范围设置的 10000-20000
    tuxz
        7
    tuxz  
       2020-10-22 12:53:58 +08:00 via Android
    @halk 好像 frp 的配置里也需要配置端口范围
    halk
        8
    halk  
    OP
       2020-10-22 14:01:45 +08:00
    @tuxz
    在 frps.ini 文件中配置了
    ```
    allow_ports = 10000-20000
    ```
    privil
        9
    privil  
       2020-10-22 14:08:29 +08:00
    linux 总共有 65535 端口可用,而具体到程序可用的随机端口值为 /proc/sys/net/ipv4/ip_local_port_range,你 frp 服务器对外发出连接是需要消耗这些端口的,你现在五百个对外的服务不断的消耗端口,估计已经耗尽了。
    jim9606
        10
    jim9606  
       2020-10-22 14:12:58 +08:00
    你是不是没有增大 ulimit 打开文件数
    我记得默认值并不高
    samondlee
        11
    samondlee  
       2020-10-22 14:18:28 +08:00
    wangyzj
        12
    wangyzj  
       2020-10-22 14:35:39 +08:00
    ulimit 的问题
    halk
        13
    halk  
    OP
       2020-10-22 14:47:19 +08:00
    @jim9606
    @wangyzj

    ```
    ulimit -n
    65535
    ```

    @privil
    ```
    cat /proc/sys/net/ipv4/ip_local_port_range
    10000 65535
    ```
    Jooooooooo
        14
    Jooooooooo  
       2020-10-22 14:51:01 +08:00
    调一下

    我们这边有连好几千个机器的
    halk
        15
    halk  
    OP
       2020-10-22 14:53:23 +08:00
    @Jooooooooo
    调什么?
    也是服务商的云主机吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2877 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 11:26 · PVG 19:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.