Websocket connection closed unexpectedly

Websocket connection closed unexpectedly. code=1009, reason=Text message too large: (actual) 2,098,113 > (configured max text message size) 2,097,152, codeMeaning=Message Too Big, codeDescription=The endpoint is terminating the connection because a data frame was received that is too large.

There are a few forum topics about this. Our Perspective pages and views haven't changed in about a year and a half and in that time we've seen perhaps two lost connection banners. Now, it's happening several times a day. What could be causing this when nothing has been changed in Designer?

Unlike the related topics below, our pages/view are relatively simple, no images, no tables, just tag values, gauges, and power charts.

Related topics:

https://forum.inductiveautomation.com/t/text-message-size-exceeds-maximum-size-message-too-big/80207/2

https://forum.inductiveautomation.com/t/websocket-disconnected-because-dataframe-message-too-large-with-perspective/67391/5

x

Any firewall changes? OS updates?
Are you running in Workstation or in the browser?

Should have mentioned v8.1.31
No OS updates in a year.
No firewall changes (directly connected on the LAN, not going through the firewall).
Chrome.

Web inspector console indicates more.

store.Channel: Websocket connection closed. code=1009, wasClean=false, reason=Text message too large: (actual) 2,104,643 > (configured max text message size) 2,097,152, codeMeaning=Message Too Big, codeDescription=The endpoint is terminating the connection because a data frame was received that is too large.
PerspectiveClient.18a5e9a5f5264ddeb349.js:2

store.Channel: Websocket connection closed. code=1009, wasClean=false, reason=Text message too large: (actual) 2,101,610 > (configured max text message size) 2,097,152, codeMeaning=Message Too Big, codeDescription=The endpoint is terminating the connection because a data frame was received that is too large.
PerspectiveClient.18a5e9a5f5264ddeb349.js:2

store.Channel: Websocket connection closed. code=1006, wasClean=false, reason=No reason given, codeMeaning=Normal Closure, codeDescription=Reserved. Indicates that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected.

I would suspect a higher data demand on a user-configurable component, like chart pens or a chart's time span.

Thanks @pturmel , thought about that, but the users aren't changing anything in the chart configuration.

This topic is similar to

The alarm status table had about 1000 unacknowledged alarms. The issue cleared up after acknowledging them. It took some time as I kept losing the connection, but it improved as more and more alarms were acknowledged.

Another note on this, it also happened on views that didn't include the alarm status table, just some alarm counts in a view header (query driven).