Skip to content

High number of channels in the user end causes client to slow down excessively #36643

@Gummikavalier

Description

@Gummikavalier

Description:

Firefox slows down and causes high CPU load after short amount of activity in the web client if you have over 300 channels in the channel list.

Chrome starts exhibiting same symptoms by 1000 channels.

There is no reason to believe that also native desktop client would not suffer from this issue with some amount of channels.

Any well connected people in their organization can accumulate 300 - 600 entries into their channel list after couple of years of RC use. If the user does not actively hide excess rarely used channels, they are hit by this bug.

For exact steps to reproduce see the comment #36643 (comment)

Steps to reproduce:

  1. RC version 7.9.x or 7.8.x is required for reproducing. 7.7.x does not suffer from this issue.
  2. Have ~600 channels in your channel list.
  3. Type in or receive messages on any single channel at fast pace (a, enter, b, enter, c, enter etc.). Use Firefox!
  4. Observe action

Expected behavior:

Messages get sent as they should. Causes only moderate CPU load on the web client / browser.

Actual behavior:

Messages start slowing down after ~20 - 30 messages, and eventually CPU load hits 100%.

If you have 1000 channels you only need to send ~10 - 15 messages for issue to become evident.

Very high load remains (20 - 66 %) and every new message at any pace will cause 100% CPU load again. Very slow general response from the web client for anything.

RC tab in Firefox does not recover from this situation anymore; you have to reload the page, or switching channels may also help a bit.

Server Setup Information:

  • Version of Rocket.Chat Server: 7.9.1
  • License Type: Enterprise
  • Number of Users: 500+
  • Operating System: RHEL8
  • Deployment Method: docker
  • Number of Running Instances: 4
  • DB Replicaset Oplog: Yes
  • NodeJS Version: v22.16.0
  • MongoDB Version: 7.0.22

Client Setup Information

  • Desktop App or Browser Version: Firefox (latest) and Firefox ESR (latest)
  • Operating System: Windows, Linux

Additional information

If you suffer from this issue, hiding mostly unused channels with hide can be used as a workaround. Note that also hiding action itself slows down after a while, so do F5/refresh after every ~20 channels hidden to be able to do this faster.

To speed up hiding you can also click the channel hamburger menu with mouse, and then press down arrow key and enter in succession. Then keep hammering the combination. And of course remember to choose no confirmation required when hiding the first channels.

When finished with hiding channels, remember to do F5 one last time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    TaskedAdded to the internal issue tracking

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions