3作者: jbryu8 个月前
我正在一台 Hetzner CCX23 x86 云服务器(4 个 vCPU,16GB 内存,80GB 磁盘)上托管一个回合制多人浏览器游戏。后端使用 Node.js 和 Socket.IO 构建,并通过 Docker Swarm 运行。我还使用 Traefik 进行负载均衡。 匹配机制采用轮询分片方法:每个房间始终由同一个后端实例处理,这让我可以将游戏状态保存在内存中,并进行水平扩展,而无需使用 Redis。 问题如下: 在大约 500 个并发玩家分布在约 60 个房间(每个房间最多 8 个玩家)时,我看到 CPU 使用率较低,但事件循环延迟较高。我的游戏中的一个功能是在玩家回合期间打字——每个受限的按键都会实时广播给其他玩家。如果我移除这个逻辑,我可以处理 1000+ 玩家而没有问题。 在我的单服务器上扩展后端实例并没有帮助。我期望每个后端实例的负载更少会有所帮助,但我仍然在 500 个玩家左右达到相同的限制。这向我表明,瓶颈不在 CPU 或应用程序逻辑,而是在堆栈中更深层的东西。但我不知道是什么。 500 个玩家时的一些服务器指标: * CPU:每个核心 25%(根据 htop) * PPS:大约 3000 入 / 大约 3000 出 * 带宽:大约 100KBps 入 / 大约 800KBps 出 对于我的单服务器设置来说,500 个并发玩家可能只是一个现实的上限,还是配置有问题?我知道使用新服务器进行扩展应该可以解决这个问题,但我想先在网上咨询一下,看看我是否遗漏了什么。我刚接触多人游戏架构,所以非常感谢任何见解。
2作者: kc38 个月前
距离 Mozilla Pocket 关闭还有大约两周的时间,我想分享一下这个快速迁移到 linkding 的工具,希望能对其他人有所帮助。<p>在评估了 Pocket 的自托管选项后,我决定 linkding 拥有最佳的功能组合。(linkding 的创建者/作者做得很好——但是,我计划最终创建一个基于 linkding 的新工具,但会添加一些作者表示他不想包含的新功能[我目前正在使用一个分支,但我希望进一步扩展它]。)<p>关于关闭公告的 HN 帖子:<a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=44063662">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=44063662</a><p>Mozilla 公告:<a href="https:&#x2F;&#x2F;support.mozilla.org&#x2F;en-US&#x2F;kb&#x2F;future-of-pocket" rel="nofollow">https:&#x2F;&#x2F;support.mozilla.org&#x2F;en-US&#x2F;kb&#x2F;future-of-pocket</a><p>linkding:<a href="https:&#x2F;&#x2F;linkding.link&#x2F;" rel="nofollow">https:&#x2F;&#x2F;linkding.link&#x2F;</a><p>请注意,Pocket 将于 2025 年 7 月 8 日关闭,但导出服务将持续可用至 2025 年 10 月 8 日。<p>[编辑] 修复标题中的拼写错误和格式