Troubleshooting severe performance issues with latest Discourse?

Can you click on the miniprofiler icon there and show us the result?

I am attaching all 7 miniprofiler entries showing in the dropdown.

1 Like

For better initial load performance you need HTTPS and HTTP/2. That comes pre-configured out of the box for every new install following our guide, but you will have to properly configure your reverse proxy for it.

3 Likes

This looks like you have CPU contention:

What processors do you have allocated on the server, how fast are they, and is there contention on the guest or host? That’s where I would start looking. Your time for the latest.json actions in the next two screenshots should be much quicker.

Additionally, with the performance headers enabled you’ll be able to see performance stats for each request in the response headers. Here’s an example for /latest.json for a small site:

x-runtime: 0.053864
x-redis-calls: 3
x-redis-time: 0.000615
x-sql-calls: 12
x-sql-time: 0.012697
x-queue-time: 0.001498

That might help you determine where you’re spending time waiting SQL/redis or doing processing in the app.

1 Like

You can get a snapshot of the machine container activity at /admin/upgrade#/processes
(all your processes, ordered by physical memory use, but including other stats)

1 Like

Note that this will only show you the processes inside the container; we are concerned with the entire machine as well as the VM host.

1 Like

Thanks. See also the related topic Downgraded deployment of Discourse which might be regarded as an attempt at a difficult workaround.

In the first miniprofiler snapshot above, I see ‘Redirect’ is costing 527ms. That seems a lot.

1 Like

I see this is an internal host and you’re accessing it by IP ?

1 Like

yes so far I am accessing it by IP. URL will be pointed to it once finalised for performance.

I have enabled the performance headers. Where does it show these results you mentions? in miniprofiler stats?

Those headers are in the HTTP response for each request.