How to calculate my server's max capacity for simultaneous uploads?

I have a NodeJS express server. I want the user to be able to upload an image file, and when the file is received by the server, it is processed using multer and its data is stored in a MongoDB Atlas document. Once processed, the file is cleared from memory storage.

I want to get a better understanding of what my server’s capacity is for how many users can upload simultaneously. We can assume that the image file’s max size is 16 MB.

According to the dashboard, my app is running as follows:

Process groups

  • app
    2 machines

Machine Sizes

  • shared-1x-cpu@1024MB

IP addresses

  • xxxxxxxxx

Shared v4

Release IP address

  • xxxxxxxxx

v6

Release IP address

RootFS Sizes

  • 526 MB
    1 machine

  • 527 MB
    1 machine

So it’s running on 2 machines, but I don’t quite understand: is the memory limit on each machine 527 MB, or is that how much memory my app takes up, and the rest of the machine size of (1024 MB - 527 MB = 497 MB) is what’s available for temporary storage of files while they’re being processed?

Either way, it seems like I will run up against memory limits very quickly, because even if I had the entire 1024 MB available, that would only allow 64 users to simultaneously upload files. Is this where scaling up the number of machines becomes important? Or am I not understanding how all the relevant memory management works here?

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.