AppEngine warning - OpenBLAS WARNING - could not determine the L2 cache size on this system
Solution 1:
I just had your same problem with pandas and Dash and found your question (hoping it would give me some light). After being stuck for several hours, I found the answer, and came back to share :-)
If the only error that you're seeing is the OpenBLAS warning, most likely the app is working well. After debugging this problem for several hours, I found that as Dash and Pandas consume a lot of memory, the F2 instance is not able to handle the web app properly and fails due to lack of RAM memory. Please try changing in your YAML/JSON configuration file your instance to the highest possible automatic unit with more RAM memory, and then it will probably work:
instance_class: F4_HIGHMEM
EDIT: Google App Engine now supports more instance types. Check the docs of instance types: standard instances
In addition, please keep in mind that the first time you run this web app, it will take considerably more time to execute. If you check the logs you'll have several prompts like the one below. Just wait a little bit more
This request caused a new process to be started for your application, and thus caused your application code to be loaded for the first time. This request may thus take longer and use more CPU than a typical request for your application.
Solution 2:
I personally solved it by adding a timeout to gunicorn, as the default timeout is only 30 sec
entrypoint: gunicorn -b :$PORT main:app.server --timeout 120
I found this solution as I tried the following:
- switched from a F1 to a F4_1G instance: still had the same warning
- switched from App Engine Standard to App Engine Flexible environment (which I highly DO NOT recommend, as app engine flexible instances not properly shut down (deleted) can cost you a lot of money: please see here for reference Pricing of Google App Engine Flexible env, a $500 lesson), with 16gb of ram and 4 CPU -> eventually got a different warning "[CRITICAL] WORKER TIMEOUT" which pointed me to this post: Gunicorn worker timeout error , which is where I found this solution.
Now my app works well, even with a F1 instance 😊
Solution 3:
Don't forget to change the number of workers ! there is a default number of workers in AppEngine instances, so your application is multiplied by this number on the same instance
https://cloud.google.com/appengine/docs/standard/python3/runtime