【问题标题】:How Stack Overflow has implemented caching?Stack Overflow 是如何实现缓存的?
【发布时间】:2016-06-11 06:26:09
【问题描述】:

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

【问题讨论】:

  • 从浏览 StackExchange 网站时偶尔出现的问题,我可以说 StackExchange 使用 CloudFlare 来“加速”(缓存)网站的部分(全部?)以获得更好的体验。
  • 这是Meta Stack Overflow 的问题吗?

标签: performance caching cdn google-cdn


【解决方案1】:

这个answer 在 Meta.SE 上得到了更全面的回答。然而,重点是:

  • 基本上所有内容都会被缓存,尤其是所有提供给匿名用户的内容。
  • They use Redis servers with 96 GB of Ram。此服务器保留最近设置和读取值的“L1 缓存”。这些值在发送到 Redis 之前会被压缩。他们还使用 IIS 的 Output Caching
  • 每个站点都有 3 种类型的缓存:
    • “本地”(用户会话、查看次数等)
    • “网站”(热门问题 ID、用户接受率)
    • “全局”(用户收件箱、API 配额)

High Scalability 上还有更多详细信息,尽管此时它已经有将近 5 年的历史了。有一个newer article(从 2014 年开始)提到还涉及两个额外的缓存级别:

  • SQL Server(整个数据库位于内存中)。截至 2013 年,database servers had 384 GB of memory
  • SSD(仅在 SQL Server 缓存预热时才使用……我认为这不是“缓存”,但文章中提到了)。

【讨论】:

    猜你喜欢
    • 2011-03-10
    • 2013-03-28
    • 2011-01-16
    • 2010-09-28
    • 2010-10-30
    • 2011-02-24
    • 2018-09-03
    • 2015-09-12
    • 1970-01-01
    相关资源
    最近更新 更多