Slow loading of the admin UI

The following 3 requests take an extraordinary long time, whereas 90% of the rest are within 10-15ms:

15 sec /admin/config.php
5 sec /admin/ajax.php?command=getcontent&module=dashboard&rawname=Blogs&section=1
10 sec /admin/ajax.php?command=getcontent&module=dashboard&rawname=Blogs&section=0

Is anything wrong with our deployment that these 3 take so long?

It is running on up to 8x of 2.6GHz cores, off a M2 NVME SSD with sustained 7.5 GB/s read speed, so there is no HW bottleneck or congestion.

We do not require any ‘Blog’ sort of things to load, for administering FreePBX, so if it can be disabled I’d love to learn how.

Many thnaks

Usually this issue is DNS related, I would suggest you check DNS settings in the OS as a first step

Like what?

All your nominated DNS servers are actually active and reachable.

Your other thread indicates that you are isolated from the internet, which is important information. In that case, your DNS servers must be configured to give definitive no such domain responses, rather than trying to forward to, or redirect to, the root servers.

Our infrastructure is functioning as expected, including all of the necessary DNS, which resolves every name on our infrastructure in existence.

Naturally, it is not resolving any external names/addresses.

What specifically is causing the slowness, and what specifically do we have to check?

It must resolve them as non-existent. If it simply doesn’t respond, or refers to the root server, you will get long timeouts.

Basically, if you have an isolated island, and there is any possibility of a lookup for a name outside that island, and you are not prepared to wait for a timeout, you need to make yourself the authority for the root domain and all intermediates, to your private domain, and to your part of in_addr.arpa.

2 Likes

I can verify this. I will a lot of time setup a FreePBX at home and then go oonsite and install the server. I will still have the old IP info in it from my home and my internal DNS at home. I will load the Admin UI REALL SLOW until I get in there and update the IP / DNS Info. FreePBX I figure is using the DNS to do all kinds of things.

Them as in what?

Our DNS servers return names or errors in under 50ms, depending on the load. What is the next item I should check?

Which info?

We keep going in circles with vague, generic items that I am not able to action.

Could we switch to exchanging specific domain names, etc., that have to be resolved?

I am doubtful that any of us community members are going to spend the time debugging our freepbx instances to give you exactly what DNS names the system is looking up so you can apply them to your niche install.

Run a tcpdump on the server while you are loading the admin page, and study the pcap to see what DNS lookups the server is doing and make sure those actually resolve.

1 Like

I don’t know the specific domain names it is trying to resolve. I just put in the correct dns server for the network that can resolve the domain names. FreePBX is checking activation info, license key info… All kinds of stuff. If it cannot resolve them it is going to timeout.

I would to a TCP dump and look at all the records it is trying to find.

This list of outbound host names may be helpful:

1 Like

A-ha! Now we are talking!

I tested the theory that the slowness is caused by the DNS, by resolding the names on your list. They all errored in under 1ms. Then I drilled a hole in the firewall, from the FreePBX box to our DNS server that we use for the LAN. It can also resolve all of these names, in under 1 ms, but the 3x slow pages are still as slow as they used to be, so DNS is not the culprit.

I found the root cause.

After we disabled the feeds, the machine had to be rebooted. Once rebooted, it became very quick to open the admin UI.

There were some improvements in this regard – and also some issues with Cloudflare – please see Dashboard RSS feeds 403 for more details.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.