压测报告

ChatPulse 压力测试报告

最后更新:2026 年 9 月 5 日 · 基于 ChatPulse v1.4.0 版本在标准 8 核 16G 单机环境下实测

12,800+并发连接单 8C16G 实例稳定承载
52,000TPS每秒消息处理峰值
38msP99 延迟消息端到端送达
99.99%成功率压测全程无消息丢失

测试环境

服务器阿里云 ecs.g7.xlarge · 8 vCPU · 16 GiB · 5M 带宽
操作系统Alibaba Cloud Linux 3.2104 LTS · kernel 5.10.134-19.2.al8.x86_64
中间件Nginx 1.24.0 · Go 1.22.4 · SQLite( WAL 模式) / MySQL 8.0
Go 进程参数GOMAXPROCS=8 · 堆内存上限 6GiB · GOGC=80
客户端模拟自研 loadgen 压测工具,每模拟 10 万用户进程,10 进程并发
压测持续每轮 30 分钟,稳定压测 + 峰值冲击各 5 轮取中位数
01

消息压力测试

模拟私聊、群聊、系统通知等多通道混合消息,单向爆发 + 双向对话两种模式

测试场景并发用户TPSP50 延迟P99 延迟成功率
私聊单聊(1v1)4,00018,2006ms22ms99.99%
100 人群聊4,00022,6009ms31ms99.98%
1,000 人超大群2,0009,40021ms78ms99.96%
系统公告广播12,80052,0004ms38ms99.99%
图文混合消息3,0007,80014ms52ms99.97%
峰值叠加(全类型混合)12,80052,0007ms38ms99.99%

注:系统公告广播采用扇形推送 + 异步持久化,实际送达能力取决于客户端 WS 连接保持,这里为入站到 DB 的吞吐数据。大群场景受客户端退群/刷屏行为影响更大,服务端具备 per-group 令牌桶保护。

02

连接压力测试

单进程 WebSocket 连接上限、握手成功率、断线重连风暴处理能力

测试场景连接上限握手成功率建立耗时 P99CPU@峰值内存@峰值
稳定长连接12,800100%11ms62%3.8 GiB
连接风暴(1 分钟 5000 次握手)—99.97%48ms78%4.6 GiB
断线重连风暴(模拟 30% 掉线)—99.92%62ms81%4.9 GiB
单进程极限(理论上限)21,50099.88%82ms95%7.2 GiB

注:生产推荐每 8C16G 实例承载 ≤ 8,000 连接,水平扩展靠 SLB 或四层 LVS + 一致性哈希路由。连接风暴场景下,go-netpoll 的 epoll 队列不会丢连接,只有握手阶段受 CPU 抖动影响。

03

群聊专项压力测试

大群成员、群消息风暴、@全体、入群/退群高频操作

大群承载

群规模成员上限拉取群成员 P99
普通群1,00028ms
超级群5,00096ms
超大群(企业总部)20,000312ms

群消息风暴

场景TPSP99
100 人群刷屏22,60031ms
1000 人群刷屏9,40078ms
@全体(1000 人)3,200186ms

注:大群(≥ 1000 人)采用扇形拉取 + 客户端本地缓存成员列表,@全体消息落库后走异步推送队列,避免阻塞主消息链路。

04

注册 · 靓号 · 钱包 压测

用户注册、靓号抢购、USDT 充值并发场景

并发注册

1,800/s
P99 186ms,含短信验证码校验

靓号抢购(单号码)

≤ 2 次误抢
在 5,000 并发请求下,行级锁保证唯一分配

USDT 充值回调

1,200/s
幂等处理,同一 txHash 只入账一次

钱包余额查询

8,500/s
走 Redis 缓存,P99 9ms
05

故障恢复与降级

极端场景下的恢复时间、降级策略、数据一致性

故障场景恢复时间数据一致性降级策略
单进程 OOM 重启≤ 8s未送达消息走离线重发WS 自动重连 + 离线消息拉取
DB 主库 failover≤ 30sRaft WAL 保证不丢写请求短暂切只读,自动切主
Redis 缓存雪崩≤ 15s回源 DB 无脏读余额接口走 DB 直查,限流保护
下游 Block 节点不可用—充值回调持久化重试回调写入本地队列,每 30s 重试

结论

在标准 8 核 16G 单机 环境下,ChatPulse v1.4.0 可稳定承载 12,800+ 并发连接、52,000 TPS、 P99 延迟 38ms,全程消息送达成功率 99.99% 无丢失。 水平扩展到 4 节点后,理论吞吐可线性提升至 20 万+ TPS。

注:以上数据基于受控环境压测得出,实际生产会受网络抖动、客户端性能、磁盘 IO、运营商链路等因素影响。 购买部署版 / 开源版后,可根据业务量选择单机部署或四节点集群方案,我们提供完整的容量规划建议。