User Interface sluggish and constantly "thinking"... tips to speed up?

SYSTEM INFORMATION
OS type and version Ubuntu 22.04
Webmin version 2.105
Usermin version 2.005
Virtualmin version 7.10.0 Pro
Authentic theme version 21.09.5

Operating system
Ubuntu Linux 22.04.4
Kernel and CPU
Linux 5.15.0-102-generic on x86_64
Running processes
[186]
Package updates
[All installed packages are up to date]

@staff

Hi everyone, maybe this is because I am used to Plesk, but I notice that Virtualmin takes a lot of time to load pages, even when the underlying information would presumably sit in a database somewhere and should be available close to immediately. Are there any “caching” options with the user interface to speed things up?

Every page I click on, I wait at least 3-5 seconds for it to load, many of them take even longer… my VPS is pretty decent:

AMD EPYC 7282 16-Core Processor, 4 cores
2.85 GiB used / 1.08 GiB cached / 5.78 GiB total (RAM)
11.16 GiB used / 85.66 GiB free / 96.83 GiB total (NVME)

My uplink is 500MBit/s and 250MBit/s down, so that’s not the bottleneck for sure. I also logged into my VPS from another VPS that’s on a 1Gbit/s connecton, and it’s the same…

I was wondering whether it’s because fo the system information under the “right bell icon”, but not sure…

Appreciate anybody’s support. Working like this is extremely unproductive…

Cheers, TH.

Hello,

Thanks for the heads up!

3-5 seconds for a page load is way to much!

Can you name a few pages which are that slow in particular for you?

Hi Ilia and thanks again for the support.
simplescreenrecorder-2024-04-19_07.38.11.zip (762.9 KB)

Attached is a short screen-recorded video as I’m on the run. This one only takes 2-3 seconds but even then, I’m wondering if this query can’t be cached. I’m used to seeing much faster response times when clicking between screens, so I’m wondering what’s causing it to take 2-3 seconds to load a page that carries information that isn’t “real-time”…

If there are any caching options, i.e. I use redis for my WordPress websites as an object cache, and it’s an amazing difference in UX experience…

Cheers, TH

The SSL certificate page isn’t showing static data, it’s parsing the current certificate, among other things. That’s not representative of the rest of the UI.

Are there other pages that are slow?

Also, did you choose to enable caching when you did the postinstall wizard? There is caching in Virtualmin, and it defaults to on, but is easy to turn off.

Of course, if you’re low on memory, caching could only hurt performance.

Thanks and yes, I enabled that during installation, as the machine has 6GB of RAM.

simplescreenrecorder-2024-04-19_07.55.16.zip (1.7 MB)

Here is another exmple, calling the DNS options…I guess one of the issues is that there aren’t many “batch” operations in Virtualmin unless you use the CLI. So every step needs to be manually repeated for all servers, and this obviously feels a lot slower, when each page takes 2-3 seconds to load… I feel it’s faster than when I reported the issue, maybe there was some intense bandwidth stuff going on when I last checked (i.e. ftp backups etc.)…

But still, most of these screens should be instant…

Is there a way to edit the caching parameters? I.e. I would be fine if most of my information is cached for 24 hours… If I need real-time updates, I can always reduce or disable the caching, could I not?

You sure about that? (There are. Click “List Virtual Servers” then check the domain(s) you want to update, and then do the thing. There are also several other places where you can perform bulk operations for things like creating users, etc. You should look around.)

Hmm…your system is unusually slow. None of my servers load that page that slow. That’s not really normal for a system that isn’t short of memory. Is disk I/O very slow, perhaps?

It’s a contabo VPS with NVME, so I don’t think that’s the issue.

image

Just did a dd, 330 MB/s is reasonable for 1GB file, I feel…

yes, I’m aware of some of the bulk options in the “list virtual servers” area and they are very handy for many things, but just not all…

For example, I wanted to ensure that all my virtual servers have the same IP in the DNS settings, as I just migrated a few servers from Plesk. Unless I’m mistaken, if using the CLI, I need to establish the old IP and the new IP… But the old IPs are all different, as merging from different servers… How can I batch- change the PHP max_execution_time from the GUI, for example… I guess what I like in Plesk is that I can “force” the template changes down the line, and I know that can break things, but many things can break things and are still useful if used with care…

anyway, don’t want to deviate too much from the topic at hand. Is there any way to tweak the caching parameters of virtualmin?

The VM is brand new, fresh Ubuntu install…

You can see if library caching is enabled in System Settings->Virtualmin Configuration->Server Settings->Preload Virtualmin libraries on startup.

That’s only one aspect of caching, pretty much everything that is cacheable in Virtualmin is always cached; it’s not configurable, it just always does the best it can. There is no tuning. It’s not like it would let you configure it in such a way that you’d see wrong information for a given time (which seems to be what you’re asking to do, that’s not something we’d implement).

I think you need to figure out what’s slow on your system. Changing pages in Virtualmin isn’t instant in most cases, but more than a second or so is unusual for most pages on a system that’s behaving well. There are a handful of pages that are kinda slow, even in the ideal case, but DNS Settings isn’t one of them. Your system seems slower than normal.

Hi Joe,

I confirm the Preload is active for “all libarries”.
Hm, back to square one, at least you confirm that my server is slower than what you’d expect to see, which is also the perception I had…

Given this is a brand new VM with decent specs, I’m not sure how else to troubleshoot. I changed default PHP to 8.3 and removed PHP 8.1, all went smooth… Can I disable the “notification bell” sidebar, as I don’t need real time stats of my system usage on every page I visit? Can’t really think of anything else…

How would you troubleshoot this further? I’ll set up a local VM on my PC and see what the potential impact of latency is, but I don’t feel it has to do anyhting with that…

Below my system stats:

That’s irrelevant to Virtualmin. Virtualmin is not written in PHP and does not depend on PHP.

That info panel doesn’t effect the content pane. It makes its own network requests independent of the content pane. You aren’t waiting on system information on every page load.

1 Like

yeah, I know, but I thought removing anyhting unused might help… I have 190 processes but memcached enabled so quite a few processed from that…

Again, if there are any suggestions on how to further troubleshoot, I’d be gratetful…

  • It’s not the OS or any old versions of anything
  • It’s not the CPU
  • It’s not the RAM
  • It’s not the SSD
  • It’s not any real-time queries

where do I go from here?

It is that which concerns me. Is this just another example of too much “moved” from a different system too quickly?

Just how many VS have been set up? Have they all been moved along with their websites and without individual testing?

Have we had an answer to @Ilia’s initial question - “Can you name a few pages that are slow?”
Are these actually pages that Virtualmin is generating? PHP doesn’t come into it (unless you are running website in PHP - in which case!!!) and what about databases - one of the biggest issues with slow servers is the management (often poor) of a database.

What about other modules in the Webmin tab?

  1. Open a Webmin module and track the page load time; try with System ⇾ Log File Rotation. Open the browser’s DevTools/Network tab to get precise time load.
    Use Alt+R hotkey to refresh the page without full window reload;
  2. Disable Virtualmin Virtual Servers module on the Webmin ⇾ Webmin Users: Edit Webmin User page, and re-run the tests;
  3. Share results.

It is that which concerns me. Is this just another example of too much “moved” from a different system too quickly?

Firstly, the speed issue was there before migrating the Plesk sites (a process that wen amazingly smooth, I have to say). So that’s not related.

Just how many VS have been set up? Have they all been moved along with their websites and without individual testing?

Around 15, not all moved, some created from scratch. I don’t see how the number of VS (within reason) affects the UX…

Have we had an answer to @Ilia’s initial question - “Can you name a few pages that are slow?”

No, because we are trying to troubleshoot why the DNS Options page is so slow. All pages take about the same amount of time to load…

Are these actually pages that Virtualmin is generating?

I don’t understand… Yes, it’s the Virtualmin user interface, I’d assume Virtualmin is creating the pages…

PHP doesn’t come into it (unless you are running website in PHP - in which case!!!)

What my web sites are running shouldn’t have anything to do with Virtualmin, and as Virtualmin isn’t using PHP as it’s not written in PHP, I don’t understand the comment…

and what about databases - one of the biggest issues with slow servers is the management (often poor) of a database.

I wouldn’t be aware, database is hosted locally, all hardware specs are good.

Thanks! Did the developer tools thing for the log rotation, loads in 2 seconds. Not super snappy, but reasonable.

after disabling the virtualmin module as described:

Are you sure that Virtualmin module was really disabled? Do you have it disappear from the top left of navigation menu?