Discourse forum hangs and times out, doesn't load

As of recently, our Discourse forum started timing out on most requests: https://caddy.community

No updates or changes were made when it started happening a few days ago. Sometimes it loads fine, but a few minutes later it will take minutes to load. (So if the above link loads fast for you, try again a few minutes later. You can also try with curl.)

We’re hosted on DigitalOcean.

Machine resources are not full: there’s plenty of CPU, RAM, disk, and network I/O available.

There are no errors in the logs, and no unknown processes running on the machine either. It’s been running fine for about 3 years but now it won’t load.

Does anyone know how to get the forum running quicker? We rebooted the machine and the forum still runs slowly.

2 לייקים

Hey @mholt :wave:,

I did try going back and forth between /latest and /categories and it’s pretty fast.

Are you seeing slowdown in specific routes of the app?

Also, do you have the MiniProfiler enabled?

Please follow this to enable it:Long loading times for user summary page with slow database

After enabling it, when you hit a slow down you will know exactly where it is.

7 לייקים

Huh… dang, it is loading faster today. :thinking: (Others in our community have also experienced it, I know it’s not just me, haha – but it can be intermittent, it seems.)

I’ll try that out when I have a chance, thanks!

5 לייקים

Hmm, it seems my ssh connections also time out sometimes.

I wonder if DigitalOcean is having network issues (they haven’t reported anything, though) – maybe I will have to open a ticket with DO to find out. It might not be specific to Discourse.

2 לייקים

This has started happening again recently: takes several minutes for the forum to load.

Ping times to the DigitalOcean droplet are nominal: ~80ms. Server load is also nominal:

The timings in the debug thing in the corner (MiniProfiler) don’t reveal any problems: all times are within ~300ms:

(This page took about 3 minutes to load.)

Is there any part of the loading process between reaching the server and rendering the page that are not counted by the MiniProfiler?

2 לייקים

Time spent on Redis isn’t counted and can cause what you see. You will have to dig into the server and check if Redis is having trouble to persist changes to disk.

2 לייקים

Interesting, any tips on how to do that? Or link to a relevant guide? This is outside my pay grade :sweat_smile:

2 לייקים

Oh let me correct myself a bit here. The time spent on redis won’t be on the broken down part of mini profiler, but be counted in the overall time in the first column. So looking at your screenshot, this doesn’t appear to be the case.

Does Caddy logs time waiting on the backend and overall time spent on each request? Is there a possibility that the reverse proxy was waiting?

3 לייקים

I will add this to the logs and try to find out next time it happens.

לייק 1

This could be time it is taking it to grab static assets ? Maybe have a look in chrome dev tools next time this happens?

לייק 1

Thanks for the idea Sam. I have looked at the network inspector before and I do not believe I remember anything too telling – but I’ll check it in more detail next time.

This tends to happen every few days or so, I’ll report back when it does!

לייק 1