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

时间:2019-03-06 06:28:44

标签: python google-app-engine google-cloud-platform plotly-dash

我尝试在GC AppEngine上部署应用程序。在部署过程中没有错误,但是应用程序不起作用(仅显示加载页面)。 日志中唯一奇怪的原始文件

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

顺便说一句-它在我的本地计算机上运行良好。
这是基于Dash框架的python网络应用

我的app.yaml:

runtime: python37
service: service-name
instance_class: F2

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

Requirements.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

2 个答案:

答案 0 :(得分:3)

我只是对熊猫和达世币(Dash)有同样的问题,但发现了你的问题(希望它能给我一些启发)。卡了几个小时后,我找到了答案,然后回来分享:-)

如果您看到的唯一错误是OpenBLAS警告,则很可能该应用程序运行良好。在调试了这个问题几个小时之后,我发现由于Dash和Pandas占用大量内存,F2实例无法正确处理Web应用程序,并且由于内存不足而失败。请尝试将您的实例更改为尽可能高的自动单位,然后它可能会起作用:

instance_class: F4_1G

此外,请记住,第一次运行此Web应用程序将花费更多时间。如果您查看日志,将出现类似以下的提示。稍等一会儿

  

此请求导致您的应用程序开始了新的流程,   因此导致您的应用程序代码首次被加载。   因此,此请求可能需要比典型请求更长的时间并使用更多的CPU   请求您的申请。

答案 1 :(得分:2)

我个人通过在gunicorn中添加超时来解决此问题,因为默认超时仅为30秒

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

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

  • 从F1切换到F4_1G实例:仍然有相同的警告
  • 从App Engine标准切换到App Engine灵活环境(我强烈不建议这样做,因为未正确关闭(删除)的App Engine灵活实例可能会花费您很多钱:请参阅此处以获取参考{{3} }),内存为16gb,CPU为4,->最终收到另一条警告“ [CRITICAL] WORKER TIMEOUT”,这使我指向了这篇文章:Pricing of Google App Engine Flexible env, a $500 lesson,这是我找到此解决方案的地方。

现在,即使使用F1实例,我的应用程序也能正常运行