<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>websocket on </title>
    <link>/tags/websocket/</link>
    <description>Recent content in websocket on </description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Mon, 21 Sep 2026 05:00:00 +0800</lastBuildDate><atom:link href="/tags/websocket/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>SSE 还是 WebSocket：每连接内存、单机容量上限与多实例路由</title>
      <link>/posts/sse-vs-websocket-long-connection-capacity/</link>
      <pubDate>Mon, 21 Sep 2026 05:00:00 +0800</pubDate>
      
      <guid>/posts/sse-vs-websocket-long-connection-capacity/</guid>
      <description>10,000 个用户每秒轮询一次价格，一个月是 259 亿次请求。换成一条长连接，这 10,000 个用户变成 10,000 条 TCP 连接加每秒一万帧。省下来的账很好算，剩下的问题是另一种分叉：用 SSE 还是 WebSocket，以及它们各自从哪里开始难受。
轮询的成本是用户数乘更新频率 先把被替换掉的那一头算清楚。这 259 亿次请求按 AWS API Gateway 的公开分档（us-east-1，截至 2026-09-22）算，REST API 每月 5.7 万美元上下：前 3.33 亿次每百万 3.50 美元，200 亿次以上那一段降到每百万 1.51 美元。这笔账里没有「数据变没变」这一项：价格十分钟不动，那十分钟的六百万次请求照样计费。
这个乘法在服务端对应到对象的生成与销毁。这些对象随栈而异，本文压测用的是 Spring Boot + Tomcat，一次 HTTP 请求在它上面要配一整套请求对象：Http11Processor、coyote.Request / coyote.Response、它们背后的 header 与 chunk 缓冲。轮询每秒把这一整套生成再丢掉一万次，开销落在分配率上。长连接省掉的正是这笔分配率，代价是那套对象改成跟着连接常驻。
客户端这一头也有上限。按每域名 6 条 HTTP/1.1 连接、单次请求占用 100 到 200 ms（参考资料那篇轮询成本分析给的区间，取 150 ms）算，一个浏览器实例到约 40 req/s 就见底，这是 Little&amp;rsquo;s Law 的直接应用，跟 OceanBase 与 TiDB 那轮容量压测里算吞吐是同一个式子。规范这一头没有规定条数（RFC 9112 §9.4），6 是实现层面的长期惯例。</description>
    </item>
    
  </channel>
</rss>
