Skip to content

Uploading a 50 MB video causes extreme server CPU, memory and disk usage #40692

@nk-tedo-001

Description

@nk-tedo-001

Description:

Uploading a relatively small video file, around 50 MB, caused the Rocket.Chat server to reach extreme resource usage. During/after the upload, disk I/O, disk throughput, CPU and memory usage went to the limit according to server monitoring.

The file was a normal video uploaded through the chat UI. I would not expect a 50 MB upload to put the whole server under this level of load.

Steps to reproduce:

  1. Open a room/channel in Rocket.Chat.
  2. Upload a video file of about 50 MB.
  3. Send the message with the video attachment.
  4. Watch server resource usage during and shortly after the upload.

Expected behavior:

Rocket.Chat should handle this upload without exhausting server resources. CPU, memory and disk usage may increase temporarily, but should remain within a reasonable range and return to normal after the upload/processing is finished.

Actual behavior:

After uploading the video, the server reached extreme values for disk, memory and CPU usage.

From monitoring:

  • Disk I/O and disk throughput spiked heavily.
  • CPU reached near 100%.
  • Memory also reached the limit.
  • The server stayed under heavy load after the upload.

I will attach screenshots from monitoring that show the disk I/O, disk throughput, CPU and memory behavior.

Server Setup Information:

  • Version of Rocket.Chat Server: 8.4.1
  • License Type: Starter
  • Number of Users: 20
  • Operating System: Docker
  • Deployment Method: Docker
  • Number of Running Instances: 1?
  • DB Replicaset Oplog: unknown
  • NodeJS Version: v22.22.2
  • MongoDB Version: 8.2.7 / wiredTiger
  • File upload storage type: unknown
  • Reverse proxy: other

Client Setup Information

  • Desktop App or Browser Version: Android
  • Operating System: 16

Additional context

The video was about 50 MB. It was a normal user upload, not an import or automated upload.

This looks like the server may be doing very expensive processing or repeated disk reads/writes for video attachments. I do not know yet if this is related to file storage, preview/thumbnail generation, transcoding, antivirus scanning, or another upload-processing step.

Relevant logs:

I do not have relevant Rocket.Chat logs yet. I can provide logs around the upload timestamp if needed.

Image Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions