RocketChat / RocketChat/Rocket.Chat

Perfomance issues when upgrading from 6.3.3 to 6.4.2

Open
#30,812 2 comments 4 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Description:

Version 6.4.2 loads servers heavily. In the grafana we see many requests rate that were not that before.
Docker instances are restarting with OOM.

Steps to reproduce:
  1. Update your RC from 6.3.3 to 6.4.2
  2. Look at the production Graphаna
  3. See docker logs
Expected behavior:

Performance and stability are no worse than the previous version 6.3.3

Actual behavior:

High CPU load on 5 servers, instance restarts

Server Setup Information:
  • Version of Rocket.Chat Server: 6.4.2 Enterprise ~6000 active sessions
  • Operating System: Oracle Linux Server release 8.6
  • Deployment Method: docker
  • Number of Running Instances: 16
  • DB Replicaset Oplog: yes
  • NodeJS Version: v14.21.3
  • MongoDB Version: 5.0.15 / wiredTiger (oplog Enabled)
Client Setup Information
  • Desktop App or Browser Version: Chrome 117 Rocket.Chat Electron 3.9.9, 3.9.6, 3.8.17
  • Operating System: Windows, Mac, Linux
Additional context

there are a lot of calls to these API methods:

action.buttons
commands.list

In a few hours without disconnections, I saw in my Google Chrome(117) - 50 calling of API method commands.list

RC logs chart with API section for one hour:
image

image

before update
image

after update
image

There is also a dependence of this issue #30717, but it is not significant. We found out that there are not many such clients in our network.

Relevant logs:

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by comparing the commands.list and action.buttons request rates and Docker logs between versions 6.3.3 and 6.4.2, using the Grafana charts and the possible relationship to issue #30717. Trace the server entry points handling these API methods and reproduce the upgrade scenario; done means request volume, CPU usage, and OOM-related restarts are no worse than in 6.3.3.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, grafana, mongodb, node.js, typescript
Domain
api, backend, observability, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.