限流配置

限流说明

每一个系统都有自己的能力水位,而限流就是为了保证当服务请求超出自己的能力水位时的一个保护措施,在高并发的情况下,一个源站故障、一台设备故障、一个网络波动都有可能导致系统崩溃。其中连接数更是重中之重,它直接影响到系统资源的使用。

限流经验

这些数据决定了我们的限流参数设定


Q: 一个QPS带来多少CPU消耗?

A: TS 2W QPS 在C5机型CPU消耗90%,C6机型75%


Q: 一个活跃链接带来多少内存消耗?

A: TS一个活跃链接占用16k的内存


Q: 回源连接占用多少文件句柄?

A: 一个连接占用一个端口句柄,连接可复用,在源站慢或故障时,新建会较多

可选参数列表

  • 限制前端活跃连接数

    配置:remap.config, records.config

    说明: 通过tsar --ts_connts_cli查看前端活跃连接数,达到阈值后开始拒绝新建连接,返回code 500,Server busy

    1. proxy.config.http.max_active_client_connections


  • 限制出口带宽

    配置:remap.cinfig

    单位: bps

    1. proxy.config.http.max_bandwidth


  • 限制速度

    配置:remap.config, records.config

    单位:bps

    1. proxy.config.net.sock_flow_control_in --上传
    2. proxy.config.net.sock_flow_control_out --下载


  • 限制回源连接数

    配置: remap.cinfig

    说明: 通过tsar --ts_connserver字段查看回源连接数,达到阈值后开始拒绝新建回源连接,返回code 500,Server busy

    1. proxy.config.http.origin_max_connections