【问题标题】:What are the ways to decrease GAE CPU% usage?降低 GAE CPU% 使用率的方法有哪些?
【发布时间】:2011-04-19 07:19:57
【问题描述】:

您采取了哪些措施来确保 CPU% 较低? 有什么示例代码可以看吗?

我问是因为每次数据存储读取/查询似乎都会将 CPU% 推到 100% 以上,并且我的仪表板中出现黄色和红色突出显示。我从其他地方读到它是正常的,但肯定有一些可以做的。

【问题讨论】:

  • 你为什么要问?这对您有何影响?

标签: google-app-engine


【解决方案1】:

使用appstats 获取有关任何长时间运行的任务的更多详细信息。它可以很好地准确分解 CPU 时间的使用方式,并让您深入了解各个调用并查看堆栈以缩小运行时间长的命令的范围。

Urlfetch 和数据库调用往往很昂贵。正如Sam 所建议的那样,两者都可以是memcached 以节省大量资金。

【讨论】:

    【解决方案2】:

    您分析您的代码并提高其效率。

    【讨论】:

      【解决方案3】:

      数据存储操作成本很高。尝试在 memcache 的帮助下减少它们的使用量

      【讨论】:

        【解决方案4】:

        您的应用经常重启吗?

        我注意到,即使是非常小的应用程序在一段时间处于非活动状态时也需要 1 秒以上的时间来加载 - 这会在日志中显示一个警告标记。

        【讨论】:

          【解决方案5】:

          对于可以缓存的页面,如果您有请求处理程序,则可以使用缓存控制。

          self.response.headers["Cache-Control"] = "public,max-age=%s" % 86400
          

          在许多情况下,您还可以使用 cron 作业定期更新缓存。

          【讨论】:

            【解决方案6】:

            我写了a simple library 来减少数据存储操作,方法是使用本地实例和内存缓存作为存储层以及数据存储。它还支持缓存的 GQL 结果。我设法将我的应用程序的 CPU 使用率至少减少了 50%。如果您不使用任何敏感数据,可以尝试一下。

            【讨论】:

              猜你喜欢
              • 2023-03-27
              • 1970-01-01
              • 2023-04-03
              • 1970-01-01
              • 1970-01-01
              • 2023-01-03
              • 2016-06-11
              • 2012-11-16
              • 2018-12-13
              相关资源
              最近更新 更多