【问题标题】:Adding a local cache server to an heroku dyno instance将本地缓存服务器添加到 heroku dyno 实例
【发布时间】:2014-07-11 18:27:16
【问题描述】:

一些上下文:

我有一个托管在 Heroku 上的 django 服务器,由 Waitress 处理请求。 单个 dyno 有多个线程同时处理请求。

服务器处理大量客户端报告的大量事件。 事件被写入一个 redis 缓存,稍后刷新到数据库。

我的目标:

我想通过让 redis 缓存在处理请求的同一台测功机上运行来优化这一点。 每个测功机都有自己的本地缓存服务器(由所有工作线程共享)。

事件将被推送到本地缓存(从而提高响应时间)。然后(在每个测功机上)定期作业将从缓存中收集事件并将它们刷新到数据库。

我的问题:

  • 如何将 redis 缓存添加到我的测功机(不是作为附加组件)。我知道这是可能的,但无法做到。参考:Is redis on Heroku possible without an addon?
  • 可以添加到我的测功机的不同缓存服务器也是一个不错的选择。

谢谢,

【问题讨论】:

    标签: django caching heroku redis


    【解决方案1】:

    没有必要重复Is redis on Heroku possible without an addon?给出的详细答案

    这是可能的,但没有理由让一个理智的开发人员仅仅为了优化完全可以忽略不计且完全不可扩展的东西。

    如果您必须有本地缓存​​,请尝试使用 local memory caching 作为中间缓存。

    【讨论】:

    • 使用本地内存缓存时,无法进行跨进程缓存,因此不适合我的需求。
    • 我同意这不是一个正统的解决方案,但我知道性能提升不可忽略。
    • @odedfos 你测得的加速比是多少?
    • 我参加了一家大公司举办的开放日,遇到了我上面描述的问题。这是他们对我正在考虑应用的问题的解决方案。恐怕我没有数字可以支持我......
    • @odedfos 您没有数字,但您绝对确定您需要这种会严重损害您的扩展能力的架构更改?祝我的朋友好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2019-11-10
    相关资源
    最近更新 更多