How to reduce browser CPU and Memory usage?

Even when my dashboard is doing nothing - the REFRESH is on a 5 minute delay. Nothing on the dashboard is changing. The workflow is not running. Nothing is happening except the timers waiting to expire. Still Firefox and Chrome browsers are taking 15% to 50% of my 4-core CPU (that is 1 to 2 CPU cores) and > 1 GB of memory, even with just 1 tab open. When I open up multiple tabs (e.g. 5 tabs to see data flow into 5 devices, plus my workflow, plus a table), then the memory usage goes > 4GB and CPU usage goes even higher. My PC eventually becomes unusable.

It seems when my Losant app is in the foreground, it takes a LOT more CPU usage, and even more when the mouse is being moved around.

Any way to reduce this? I cannot use the PC like this. However, when the Losant app is in the background with another static website is on the foreground tab, the Losant tab takes up just a little CPU, which is what I expect.

Here are some screenshots. I had just recently uninstalled and reinstalled Firefox, yet the issue persists:
image
image

@Bryan_Chase,

Thanks a lot for bringing this up! Our engineers are looking into this today. I will follow up as I receive more information.

How to debug a memory-hog dashboard?

I will retract my previous question, since I found an error in our data set that didn’t get filtered and caused an issue.

But I’d like to ask if there is a way to not have the page refresh and rerun the whole JS program every time a single keystroke is entered? Is this just the way JS works in browsers? Or can you add a toggle-button to the page which allows “Pause Javascript until my edits are done?”

@Bryan_Chase,

I just chatted with the engineers, we have pushed out a performance fix for idle dashboards. You should see some improvements there!

For your other questions, if you edit the Custom HTML Block in fullscreen mode. The preview does not refresh. However, I can put in a ticket to see if there is a way to slow down the refresh while editing a block.

Sounds good.

As for the preview mode, I’m still getting refreshes with every keystroke. It makes editing there impossible, compounded by since g*gle charges for every tile fetch

@Bryan_Chase,

I just talked with the engineering team. We are going to improve this refresh rate.

For now, I can make two suggestions:

Experience Pages - Here, you’re displaying the map in a dashboard block. However, you can use HTML/CSS/JS to display maps in Experience Pages. The benefit here is that each map on the page doesn’t have to be within its own iframe.

Develop Locally - Depending on your level of HTML/CSS/JS, you can also create a local index.html and create your Google Maps locally. But, this brings up an obvious problem, you won’t have DashbaordBlock or the block’s data. For this, you’ll have to create sample data for local testing. When you’re ready to add to Losant, replace the references to your sample data with DashbaordBlock and set up your events.

I will certainly let you know if the team comes up with something else.

He can also open up a text editor (like Sublime Text) on the side and copy and do the code editing there and copy/paste back into the Custom Body Content once edits are done for validation and preview.

Thanks for the replies. I do develop in a different text editor then paste in the code. We don’t have the programmers onboard to take on developing a parallel environment but I get your point, with the sample code and all.

Bump for similar / different version of this. Irregardless, I need to raise awareness on this CPU / browser tab issue. How do I get my browsers to still function when I get 7 or 10 or 20 tabs open? It’s very hard to debug stuff like this. The only resolution when it gets like this is to close all the browsers and/or reboot the PC.

Issue: Losant works fine until… Somehow some line has been crossed and the browser just throws boxes around and won’t fill in the data.

(Only) 7 tabs open in Chrome - But it cannot show the dashboard. It just throws these little boxes around in the blocks.

4 Tabs open in Firefox (3 here and 1 other not shown).

Task Manager shows Chrome chewing on something but never resolving. If I try this with Firefox, the tabs will cease to update if I get “too many” open, where “too many” is perhaps 7. Makes debugging torturous when I need to view several tables and see what is updating to the devices.

Expectation: Let me open 1 tab per Device and 1 tab per table, plus workflow plus dashboard, up to ~20, to see what’s going on in parallel.

Hi @Bryan_Chase,

I have filed a ticket with our engineering team to look into the memory usage issue, I will follow up when there is an update.

Browsers limit the number of HTTP connections with the same domain name. This restriction is defined in the HTTP specification. Most modern browsers allow six connections per domain. Most older browsers allow only two connections per domain. You can read more about this in a third-party, non-Losant document I found while looking. There is also a nice chart to show the number of maximum connections, where Chrome has a maximum of six:

Please let me know if I can explain anything further!
Thanks,
Julia

Thanks for this Julia, this is helpful. I didn’t know such a limit existed. It definitely works better when I have more browsers. Apparently for Firefox there may be some way to override it: http://kb.mozillazine.org/Network.http.max-connections-per-server

1 Like