11

不确定 Stack Overflow 是否使用缓存来提高其页面的加载速度,但如果有,它做得很好。有许多组件需要更新。在这张图片中,你看到每一秒都有许多组件需要更新。Stack Overflow 是如何做到如此完美的?在此处输入图像描述

4

1 回答 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 回答