V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Joker123456789
V2EX  ›  分享创造

Magician 1.1.10 发布, http 支持 keep-alive 保活

  •  
  •   Joker123456789 · 2021-05-09 22:25:55 +08:00 · 1172 次点击
    这是一个创建于 1293 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本次更新主要是对 http 解码器 加入了 keep-alive 保活机制,让一个 tcp 连接可以被同一个 http 客户端复用,从而减少建立 tcp 连接的开销,在一定程度上提高了吞吐量。

    如何使用

    发起 http 请求的时候 加上这个请求头 [ connection:keep-alive ] ,一旦加了这个 服务端将会保持 tcp 连接,响应之后不再关闭。现在浏览器一般都是默认有的。

    如果不想用这个机制,那么务必要传这个请求头 [ connection:close ] 或者干脆不传 connection 请求头。

    如何回收连接

    目前是第一版,还不是特别完美,回收连接主要靠两个点

    • 系统的 tcp keepalive,这个是系统带的功能 如果 tcp 连接闲置过久 就会被回收
    • 客户端主动断开,如果客户端断开了连接,那么服务端会收到一个 read 事件,读取数据的时候会返回-1,后端对这个-1 做了判断,一旦发现返回-1 就会关闭 tcp 连接

    这个机制带来的吞吐量如何

    在本机用 wrk 做了一轮测试,结果如下图所示

    avatar

    测试脚本如下

    avatar

    本机配置如下

    avatar

    想了解更多可以访问官网

    http://magician-io.com

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2749 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 12:14 · PVG 20:14 · LAX 04:14 · JFK 07:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.