博客

理解游戏,也理解产品。

我们分享扑克学习、公平发牌、产品设计与关键技术选择。每篇文章均提供中文与英文版本。

编辑推荐

为什么公平性证明不该放在手牌复盘页

我们删掉的不只是一个按钮,还纠正了一处容易误导玩家的页面设计:复盘页负责解释手牌,公平性页面负责验证发牌记录。更重要的是,我们用测试防止这项功能再次回到错误的位置。

阅读全文

近期文章

Protobuf 在牌桌上的取舍:生产 WS 流量减少 46%

100 桌、900 连接,Protobuf 相对紧凑 JSON 少发约 46% WS 载荷。补充热路径优化后的生产复测:完整服务端 P99、协议对照,以及索引、少复制、缓冲区复用的收益边界。

阅读全文

从延迟定位到公网容量实测:BluffKing 优化了什么

从 01:22 的查询失败到 23:29 的生产验证:延迟怎么定位、做了哪些改进、还有哪些空间。9 月 9 日补记:本地 2 vCPU 复现把服务端 p99 压到 1ms 以内,生产按 9 月 8 日的同机方法复测,从 7.08/12.20ms 降到 2.57/4.48ms;公网阶梯量到的是测试链路,不是服务上限。

阅读全文

缓存文章的内容测试:回读 read_cache.rs 的 TTL、字段白名单和 p95 限定

AI 写出来的技术文章不能只靠 file:line 摆样子。我们把一篇缓存文章里的 TTL、字段白名单、失效路径和延迟限定写进 website test:源码一漂移,文章先红。

阅读全文

读缓存先写合同:5 秒 session cache 也不能延长登录态

这次性能改动真正有用的不是 HashMap,而是缓存边界:三类读模型、各自 TTL、字段白名单、同步失效、generation 防 late insert,以及专门测试撤销和过期。缓存之前,先定义系统允许复用哪一种真相。

阅读全文

WebSocket 为什么堵:2 Mbps 出口嫌疑与 22.3% 减流实测

生产 300 桌出现 199 次发送队列淘汰,CPU 和数据库却未满;同代码本地跑 1000 桌时动作 p99 仅 1.2 ms,JSON 下行却要 4.07 Mbit/s,超过生产 2 Mbps 出口。因此瓶颈先锁定出站链路,再用 compact-v1 把同负载字节从 10.18 MB 降到 7.91 MB;具体单点与生产新容量仍待复测。

阅读全文

2 核生产机实测:150 人通过预算,200 开始卡,300 崩塌

直接给数字:腾讯云 SA2.MEDIUM4,2 vCPU、3.6 GiB、固定公网出带宽 2 Mbps,Postgres 与 Caddy 同机。150 人通过延迟预算,200 人超预算,300 人 p99 达 4.1 秒;这不是结案,而是定位出站瓶颈、优化代码并用同一阶梯复测的起点。

阅读全文