Improve overall UI / front-end performance (as well as percieved performance)

Hi,

I’ve got some hints / complaints about a slow CRM on one server.
So I’ve looked into the server. Opcache, fcgi, deflate / gzip, http2, etc. seem to be all fine and working.
When using lighthouse in the browser, and checking a couple of different installations on different servers, I found that the lighthouse score was quite low - usually around 30 - 50.

So much for the technical side of things.

I’ve seen another CRM system which recently did a UI push to make things “feel” faster.
There are now sceleton widgets which load data with a slight delay etc. - plenty of things that can be done, to make the end users of the CRM happier about a fast and smooth system, day in, day out:
e.g.: 4 Tricks to Make Load Times Feel Faster | by Web Designer Depot | Medium

Interesting.

I assume this is not developer mode.

I was wondering - how does this compare, not with “sites in general”, but with other Angular sites?

On the other hand, SuiteCRM is a complex beast when it comes to UI. It’s quite a different thing, to build a straight-forward UI and show it, or to make your UI almost totally customizable, as is the case with SuiteCRM. I would expect this to have a performance penalty.

Anyway, performance has improved a lot since v8.0 came out, it now feels fast enough to me. But it’s true that there is room for improvement.

We’re talking about the newest (8.8) version right?

My SuiteCRM 8.8 on LiteSpeed WS (lsphp 8.3) is pretty fast, like a few times faster than your results. Load speed is about 400-500ms and max 4 seconds to finish even without cache. I don’t trust local PageSpeed Insights.

Did you use page speed in incognito mode?
Did you do all of Performance Tweaks?
Maybe the database has a lot of records to delete?

In my experience, single largest impact with web sites will come from carefully adjusting apache and database settings.

Apache/PHP should be adjusted to maximize RAM usage and be optimized to expected number of users/connections on the system.
PHP might be configured in different ways too, and there are caching tools/modules for PHP too.

Same thing for database, mariadb is a complex beast and adjusting it properly is not an easy task, but upside is great. There are good scripts for monitoring mariadb performance with suggestions on how and what to do. I am using tuning-primer.sh and mysqltuner.pl.

I am runing suiteCRM on my own (enterprise class) server, so I have as much resources as I wish, but situation on some virtual hosts or shared metal might be significantly different.

Implementing REDIS is also an option (it does not come by default) and I see there were discussions on using and configuring REDIS with suiteCRM:

Yes, prod - with opcache, “reasonable” SuiteCRM settings and close to 0 records / fresh installation.

I’ve tested anything from 8.6 to 8.8.1 today.

Incognito and standard - didn’t make a big difference.
Yes, applied all performance tweaks in two systems at least (some in others).
Two systems are fresh and just contain a handful of test records.

Maybe it’s just related to the traffic some other VHosts might have at peak times.
That’s why I checked 5 different servers (only 1 setup by myself) with mediocre results.
Probably I’m spoiled by my local virtual server demo system - that’s usually fast without any server optimizations :wink:
Do you have smaller VPS as a test system or similar to test the speed?
For some bigger projects we’re using a load balancer setup and tons of RAM - that works fast despite the amount of records.
I’ve been surprised by the slow speed of a fresh / empty installation however.

uh, no :frowning:

I have production on intel 48core/512gb machine (running as virtual machine), but this is waaaaay overkill (this is my storage, runing storage and other services but still overkill on a grand scale…). I have test machine on minisforum A1 machine (this is basically notebook processor with 32gb memory, also running from snapshots from my production machine) and I also tried to run suitecrm as docker image (but I stayed with VM setup although docker would go even faster).

I do not have anything runing on public cloud (and if I did I would most likely stick with AWS or Azure), I am scared of running private data on public cloud (with all security included and activated I am still uneasy with that).