AppEngine 警告 - OpenBLAS 警告 - 无法确定此系统上的 L2 缓存大小

新手上路,请多包涵

我尝试在 GC AppEngine 上部署应用程序。部署过程中没有错误,但应用程序无法运行(仅显示加载页面)。日志中唯一一个奇怪的生

OpenBLAS WARNING - could not determine the L2 cache size on this system

顺便说一句 - 它在我的本地机器上运行良好。

这是基于 Dash 框架的 python web 应用程序

我的应用程序.yaml:

 runtime: python37
service: service-name
instance_class: F2

entrypoint: gunicorn -b :$PORT main:app.server

要求.txt:

 Flask==1.0.2
dash==0.34.0
dash-html-components==0.13.4
dash-core-components==0.41.0
dash-table==3.1.11
gunicorn==19.9.0
google-cloud-pubsub==0.37.2
requests==2.21.0
pandas==0.23.4

原文由 Pizza eu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 804
2 个回答

我刚刚遇到了与 pandas 和 Dash 相同的问题并找到了你的问题(希望它能给我一些启发)。卡了几个小时,终于找到答案了,回来分享:-)

如果您看到的唯一错误是 OpenBLAS 警告,则很可能该应用运行良好。这个问题调试了几个小时后,我发现由于Dash和Pandas消耗大量内存,F2实例无法正常处理web应用程序,由于RAM内存不足而失败。请尝试在您的 YAML/JSON 配置文件中将您的实例更改为具有更多 RAM 内存的最高可能自动单元,然后它可能会工作:

 instance_class: F4_HIGHMEM

编辑:Google App Engine 现在支持更多实例类型。查看实例类型的文档: standard instances

实例类型

此外,请记住,第一次运行此 Web 应用程序时,执行时间会长得多。如果您检查日志,您将看到如下几个提示。再等一下

此请求导致为您的应用程序启动一个新进程,从而导致您的应用程序代码首次加载。因此,与您的应用程序的典型请求相比,此请求可能需要更长的时间并使用更多的 CPU。

原文由 David Olmo Pérez 发布,翻译遵循 CC BY-SA 4.0 许可协议

我个人通过给 gunicorn 添加超时来解决它,因为默认超时只有 30 秒

entrypoint: gunicorn -b :$PORT main:app.server --timeout 120

我在尝试以下操作时找到了此解决方案:

  • 从 F1 切换到 F4_1G 实例:仍然有相同的警告
  • 从 App Engine Standard 切换到 App Engine Flexible 环境(我强烈不推荐,因为 App Engine Flexible 实例未正确关闭(删除)可能会花费您很多钱:请参阅此处参考 Google App Engine Flexible env 的定价,一节 500 美元的课),16gb 内存和 4 个 CPU -> 最终收到不同的警告“[CRITICAL] WORKER TIMEOUT”,这让我看到了这篇文章: Gunicorn worker timeout error ,这是我找到这个解决方案的地方。

现在我的应用程序运行良好,即使使用 F1 实例😊

原文由 tim 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题