不确定 Stack Overflow 是否使用缓存来提高其页面的加载速度,但如果有,它做得很好。有许多组件需要更新。在这张图片中,你看到每一秒都有许多组件需要更新。Stack Overflow 是如何做到如此完美的?
问问题
297 次
1 回答
5
这个答案在 Meta.SE 上得到了更全面的回答。然而,亮点是:
- 基本上所有东西都被缓存了,尤其是所有提供给匿名用户的东西。
- 他们使用具有 96 GB Ram 的 Redis 服务器。此服务器保留最近设置和读取值的“L1 缓存”。这些值在发送到 Redis 之前会被压缩。他们还使用 IIS 的输出缓存
- 每个站点都有 3 种类型的缓存:
- “本地”(用户会话、查看次数等)
- “站点”(热门问题 ID、用户接受率)
- “全局”(用户收件箱、API 配额)
还有更多关于High Scalability的细节,尽管此时它已经有将近 5 年的历史了。有一篇较新的文章(从 2014 年开始)提到还涉及两个额外的缓存级别:
- SQL Server(整个数据库位于内存中)。截至 2013 年,数据库服务器拥有 384 GB 内存
- SSD(仅在 SQL Server 缓存预热时才会触发……我认为这不是“缓存”,但文章中提到了它)。
于 2016-03-21T13:26:44.090 回答