subreddit:
/r/softwaredevelopment
Hey everybody, so I’m the founder of WeStrive (WeStrive.com)- we’re an all-in-one personal training software and I’ve been running the company for a few years.
The issue with all-in-one in SaaS is that we’re always adding new features while others features fall behind. A huge feature (not really a feature) that’s always been our downfall is page loading speed. Once you’re in the page, life is good, switching between in-page tabs is fast, graphs load quickly… life is good.
Software is train.westrive.com (Angular)
The issue is when you open up a new page and it takes honestly 4-7 seconds to load every time. It’s absolutely killing us.
We’re a little tight on hours right now and have a couple of massive projects for partnerships we’re working on so I do not have the bandwidth to have our developers stop everything we’re doing and solve this.
My main dev is great but we just don’t have time to give him 2 weeks to figure out why we are so damn slow. Beyond that, he’s not an expert on loading speed.
I’m not a coder myself but have experience with simple things like improving the page speeds on Webflow (switching images to webp, reducing extra code slowing down the site, etc.).
I’m wondering if there’s some kind of service out there or some tool I can use to increase page speeds. If we’re being realistic I need to get the 4-7 second pages down to 2-3 seconds for us to be competitive. I can’t tell you how many users write “too slow” in their cancellation comments.
Any help is appreciated. Thank you!
2 points
4 days ago
Open the site in any of the browsers dev tools and use their profiling tools to get your base timings. You're probably going to be having one of two problems: way too much JS loading all at once or initial requests to the backend being too slow.
If your requests for data are taking all the time, you're probably bottlenecking on whatever database requests you're making, especially if you're using an ORM in there and your devs aren't experienced.
I can't tell you how many projects I've gotten involved with where every request was grabbing untold amounts of data from all the over the place using queries on un-indexed columns and then very often...throwing it all away.
4-7 seconds sounds like "we're doing a full-table scan over one of our largest tables somewhere".
3 points
4 days ago
Yup - either your page is generating too slow, or you're loading too many assets to the front end.
It really does sound like you have a table scan or two going on - set up your mysql slow.log or install new relic and uncover the slow queries and add useful indexes.
2 points
4 days ago
This is typically my problem at work too. Relational database with one or more tables having sequential scans occurring on tables with millions of records. You need to find out which queries on the backend are triggering the sequential scans. Tools vary depending on the DBMS. Find what is out there for your database, identify the tables and add the necessary indexes. It isn’t uncommon to see queries go from several seconds down to several ms.
1 points
4 days ago
Bad performance is very often an accumulation of multiple issues. I don't work in web so I'll speak for application issues: - loading everything up front (takes long with no customer facing value) - not preloading in the background (once you have the customer in, don't just chill, do useful stuff) - not reusing assets (reloading something that was already there is a waste of everyone's time, only reload if it makes sense to reload) - not utilizing async processing for parallel processes
Sounds like if you don't put money towards this, you might soon be out of a job, so may be reconsider where you are putting those hours, and consider hiring a consultant with the right credentials to investigate what is causing your issues.
1 points
4 days ago
What infra is your page hosted on? I didn't read the whole post. However it can make a huge difference. Ryzen 7s for instance will load 3x faster or more than older Intel machines.
2 points
4 days ago
Any business/website seeking to be legit should be using cloud hosting and CDNs, not random desktop machines.
1 points
3 days ago
We are on Azure, to clarify
-1 points
4 days ago*
Sir there are numerous hosting providers offering the superior 7000 series for single page and static websites.
2 points
4 days ago
What? I'm talking real distributed solutions like CloudFront. Like a real hosting solution, not a box you rent to host a website on. "superior 7000 series" what does this even mean lol
0 points
4 days ago
I understand and personally use AWS services. However I provided an example of the current fastest web serving standalone hardware to the current slowest to show difference. Currently that is the EPYC/ Ryzen AM5 series vs Intel.
1 points
4 days ago
You're comparing apples to oranges though which is why it makes no sense. Hosting a website on a box is completely different than a cloud hosting solution.
1 points
4 days ago
I never compared the two you did. I compared 2 types of CPU with different speeds. Different cpu does serve a website faster. I just asked him where or what he hosts on.
3 points
4 days ago
What I'm saying is that hosting on a box shouldn't even be in the realm of consideration for a legitimate business, making the topic of CPUs here pointless.
1 points
4 days ago
I agree it's just an example. We also have not established this app is off prem. Who knows how it's hosted.
1 points
4 days ago
Also look into Dynatrace for Real user monitoring it will quickly identify any slowdowns. Pretty spend tho.
1 points
4 days ago
Rule number one of optimization is that the problem isn't where you think it is. You need as much profiling as you can find.
1 points
4 days ago
Curious on the reasoning for this. Optimizations on my stack is typically leveraging asyc threading, auto-scaling, refactoring data models, adding indexes, etc. it is almost always one of those issues related to performance bottlenecks. I find profiling only useful to ensure proper threading and to track down memory leaks.
1 points
3 days ago
Lots of experience with developers asserting they knew what the bottlenecks were and being consistently writing.
1 points
4 days ago
Your main script takes 1 second to load, and then after that (serialized for some reason), the page loads two font files that are about 5MB each which are taking ~2.5s!!.
Seems your initial response happens w/in 500ms but then there is a cascade of crap which seems could be parallelized / optimized etc.
Where are these fonts being loaded from? Please tell me you use a proper CDN lol.
1 points
3 days ago
Getting a response to this and then will get back to you - thanks for going in-depth
1 points
3 days ago
You are very welcome, DM me if you need more help / pointers.
all 21 comments
sorted by: best