proxyd

Created: 2017-04-20 19:15
Updated: 2017-04-23 18:07

README.md

proxyd

一个透明的 tcp 反向代理,用于 LAIN service

示例

性能测试

条件 \ 指标 TCP_RR TCP_STREAM TCP_MAERTS TCP_SENDFILE
没有 proxy 15109 trans/s 13919 Mbits/s 13526 Mbits/s 13098 Mbits/s
nginx 7059 trans/s 10585 Mbits/s 8897 Mbits/s 8311 Mbits/s
proxyd 8541 trans/s 11393 Mbits/s 10568 Mbits/s 12953 Mbits/s
  • TCP_RR 指 TCP Request/Response 测试:
    • trans/s 指 transaction/s,即每秒完成的交易数,即 qps
  • TCP_STREAM 指由客户端向服务器发送数据的吞吐量测试
  • TCP_MAERTS 指由服务器向客户端发送数据的吞吐量测试(MAERTS 是 STREAM 的逆序)
  • TCP_SENDFILE 与 TCP_STREAM 类似,不过调用系统的 sendfile() 传输数据 而非 TCP_STREAM 使用的 send()
  • 详见 benchmark/README.md

设计

  • proxyd 从 lainlet 获取 upstream 信息
  • 目前采用 round-robin 方法,将客户端请求轮流连接到不同的 upstream

构建镜像

docker-compose build proxyd
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more