Can you click on the miniprofiler icon there and show us the result?
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.
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.
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)
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.
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.
I see this is an internal host and you’re accessing it by IP ?
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.