When I try importing data into the system using Data Import, sometimes in between i face this issue. I guess the background scheduler is taking time or so… So from the browser when i hit the URL, the web page doesn’t load and will show the error as ERP Next site not reachable. The reason it says is that server took long to respond.
The issues gets resolved after 5 to10 minutes.
sudo supervisorctl status show all the process are running. The nginx log or the frappe log is not showing any data…
What log do we need to check when the system becomes unresponsive.
How to debug this issue? How to avoid this kind of issue?
check your http_timeout - increase it until you find the value that works.
check you gunicorn workers - make sure you have at least 3 workers. (the formula is 2 x num_cores (of CPU) + 1
Thanks for your reply. I tried the same. I setup the number of workers to 3 in the supervisor.conf file
[program:frappe-bench-frappe-web]
command=/home/frappe/frappe-bench/env/bin/gunicorn -b 127.0.0.1:8000 -w 3 -t 120 frappe.app:application --preload
However when i try to imports lets say 15 items, it again takes close to 10 minutes for the system to come back live. But after 10 minutes, the 15 items are getting created.
Anything i am doing it wrong?
How to check whether gunicorn workers count?
How to know the default http timeout set in erpnext?
I see the following link to set the timeout. What is the typical range set for http timeout.
First, what is your system (cpu-number of cores, memory - how many gigabytes)?
You can add --threads 10 after -w 3 to use gthread worker class in gunicorn which overcomes the timeout limitation of gunicorn.
Thanks for the response. For Assessment, we are trying with a AWS Trial EC2 instance with 1 core, 1 GB . This configuration will change once we move to production. Will check with above suggested change.
Unfortunately, this is not enough. To evaluate ERPNext properly, you need at least 2Core 8Gig Memory. (Try Google Cloud, Digital Ocean, or Microsoft Azure.) ERPNext is not a toy. Would you place SAP in this type of computer? ERPNext has MariaDB, Redis, etc.
Try adding --threads 4 to your supervisor.conf and erase --preload.
The objective is to overcome the timeout of sync gunicorn worker by using gthread, and to save the minimum resources you have by doing away with preload (this is only useful if you are not using threads and exclusively using sync workers only)
@Joseph_Marie_Alba1. Thanks. We have increased our config to 2 Core and 8 GB RAM. As mentioned earlier we are running MariaDB, Redis and ERPNExt in a Same Single Instance.
Should the Gunicorn workers be increased to 5? Would it Impact the performance of MariaDB, Redis and ERPNext Background Jobs running in the same machine?
Any other subsequent configuration that needs to be done for Redis or MariaDB to support the Gunicorn changes?
Any insights on this would be really appreciated and helpful.
Try to ping using domain name, you will find different ip is map to domain name. i can able to access using ip. that solved problem for me. request your server admin to map back to your domain