ERPNext site Not reachable, took too long to respond

Hi All,

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?

Thanks,
Saravana

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

Hi @Joseph_Marie_Alba1,

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.

Thanks,
Saravana

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 for your support. will try that.

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

  1. 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?

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

Thanks,
Saravana

Yes. No impact

Did it work after increasing core and memory size?