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

nxowjjhe  于 2023-01-16  发布在  Python
关注(0)|答案(4)|浏览(133)

我尝试在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

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
ej83mcc0

ej83mcc01#

我刚刚遇到了你对Pandas和Dash同样的问题,找到了你的问题(希望它能给予我一些启发)。在被卡住了几个小时后,我找到了答案,回来分享:-)
如果你看到的唯一错误是OpenBLAS警告,很可能是应用程序运行良好。在调试了几个小时后,我发现由于Dash和Pandas消耗了大量内存,F2示例无法正确处理Web应用程序,并且由于RAM内存不足而失败。请尝试在YAML/JSON配置文件的示例到最高可能的自动单元与更多的RAM内存,然后它可能会工作:

instance_class: F4_HIGHMEM

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

此外,请记住,第一次运行此Web应用时,它将花费相当多的时间来执行。如果检查日志,您将看到多个提示,如下图所示。请稍等片刻
此请求导致为应用程序启动新进程,从而导致首次加载应用程序代码。因此,与应用程序的典型请求相比,此请求可能需要更长时间并使用更多CPU。

mkh04yzy

mkh04yzy2#

我个人通过给gunicorn添加一个超时来解决这个问题,因为默认的超时只有30秒
entrypoint: gunicorn -b :$PORT main:app.server --timeout 120
我发现这个解决方案,因为我尝试以下:

  • 从F1切换到F4_1G示例:仍然有同样的警告
  • 从App Engine Standard切换到App Engine Flexible环境(我强烈不推荐,因为未正确关闭(删除)的App Engine Flexible示例可能会让您损失很多钱:请参阅这里的参考Pricing of Google App Engine Flexible env, a $500 lesson),与16 GB的内存和4 CPU -〉最终得到了不同的警告“[关键]工作者超时”,这使我指向这篇文章:Gunicorn worker timeout error,这就是我找到这个解决方案的地方。

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

5lhxktic

5lhxktic3#

不要忘记更改工作线程的数量!AppEngine示例中存在默认的工作线程数量,因此您的应用程序将在同一示例上乘以此数量
https://cloud.google.com/appengine/docs/standard/python3/runtime

eufgjt7s

eufgjt7s4#

我在使用AWS Lambda函数时遇到了同样的错误日志。我的函数处理了相当多的记录,所以我需要在lambda函数配置中增加两个设置:

  • 增加内存的大小。
  • 以秒为单位增加超时。

希望能有所帮助。

相关问题