【问题标题】:Heroku web dyno running exactly to memory limit?Heroku web dyno 完全运行到内存限制?
【发布时间】:2013-10-14 14:49:18
【问题描述】:

想看看是否有人对诊断我从 django 应用程序的 heroku 日志中的网络测功机获得的 Heroku 错误 R14(超出内存配额)错误有任何建议或进一步阅读。

一个示例日志是:

heroku[web.1]: source=web.1 dyno=heroku.16810889.deec8406-c082-445d-a047-d0026849fd5e sample#load_avg_1m=0.01 sample#load_avg_5m=0.03 sample#load_avg_15m=0.04
heroku[web.1]: source=web.1 dyno=heroku.16810889.deec8406-c082-445d-a047-d0026849fd5e sample#memory_total=512.06MB sample#memory_rss=511.84MB sample#memory_cache=0.00MB sample#memory_swap=0.22MB sample#memory_pgpgin=380186624pages sample#memory_pgpgout=364599pages
heroku[web.1]: Process running mem=512M(100.0%)
heroku[web.1]: Error R14 (Memory quota exceeded)

一些背景信息、观察和我尝试过的事情:

  1. 大部分内存都被 memory_rss 消耗(谷歌搜索 heroku“memory_rss”并没有出现太多)
  2. 缩放或取消缩放 web dyno 的数量无效,每个新的 web dyno 很快就会达到 512M (100%)。它总是在 100% 处停止,并且不会更高。重启 dynos 只能缓解 10-15 分钟的问题。
  3. 此问题仅影响网络测功机。我有一个 celery scheduler 和一个 celery worker dyno 运行良好。 celery.1 总内存徘徊在 100MB 左右。
  4. 这是我在 New Relic 中的实例破折号:

我们还在不同的 Heroku 实例(临时服务器)上运行完全相同的代码,内存从未超过 160MB,因此它似乎是特定于服务器的(至少在某种程度上)。

关于我接下来应该看哪里有什么建议吗?我还能提供哪些其他有用的信息?谢谢

【问题讨论】:

    标签: django memory-management heroku memory-leaks


    【解决方案1】:

    有点荒谬,但将问题追溯到应用程序用于用户个人资料头像的 django-avatar。应用中任何页面的几乎 50% 的响应时间都花在了模板的 {% block header %} 上,这没有任何意义,结果是 { avatar } 标签。

    在 settings.py 中没有为 S3 正确配置 AVATAR_STORAGE_DIR

    【讨论】:

    • 您是如何将问题追溯到该组件的?
    • 消除过程
    猜你喜欢
    • 1970-01-01
    • 2018-08-09
    • 2017-05-23
    • 2019-03-11
    • 2013-05-30
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2014-02-23
    相关资源
    最近更新 更多