Long story short… we have a rather large platform meant to be online and have a large influx of users. I want it to be able to handle a LOT of traffic, specially in bursts, but the app is not at all scalable.
With just 1% use of what we could be, we’ve had overages and are exceeding workflows by almost 2X. Not scalable at all. The app is also incredibly slow for many users, especially mobile. We cannot onboard new users like this…
Sometimes it is unusable, mainly as many users have very bad internet and their phone processors are diverse. It isn’t uncommon for the app to reach 1.2GB in browser memory on desktop… we need it to be 200mB or less for the sake of a decently quick platform.
Problem is, we have no idea what is causing the issue. Our app is rather large, and our team is not necessarily large enough to sort through everything individually as an experiment (button by button, experiments…) because there’s so many workflows and things, it would be weeks but we can’t afford to take so long and waste away the summer without doing so more objectively. Changing the structure of things takes time.
Is there an efficient way to figure out how to reduce things or what it is? For example, is it the amount of elements? Is it the searches or how they’re structured? Is it something to do with plugins or the HTML headers? Is it the number of things in the database? I’ve already been trying to make it lighter and faster for the past week or so but have only reduced it from about 2GB to 1GB… At this rate we’re loosing time and resources. We need better results.
I’ve tried:
- Replace “Do a search for” to only 1 search, and have elements source it from another already done search.
- Lessened “Do every X seconds” (unsure if these are overwhelming)
- Lessened “Do when x is true”
- Removed as many groups and elements as possible (unsure if the number of elements is the issue, for example)
- Removed unused plugins
- Removed unused javascript
- Less HTML/CSS code
- Removed unused conditionals
Nonetheless it’s all a shot in the dark. I don’t know what to do objectively to go “this will result in 200mB maximum!” plus… each time we make changes, we’re left with bugs and so on to fix, which only takes more and more time… and, when replacing things it isn’t always easy to figure out their replacement.
I really need some help… We have people waiting for this and we have an amazing opportunity but I just can’t figure it out. Please help. If someone is willing to take a look I would also be very grateful. Any general guidelines, resources or tips are appreciated too.