We help IT Professionals succeed at work.

Server resources allocation

Dear Experts,

Assuming I will have 70k clients with individual directory in my server and each of them have 20 images uploaded. Each image 2MB to 5MB in file size.

My question is, what kind of server resources do I need for the hard disk space and bandwidth needed in order to run this smoothly?

Watch Question

Just from basic math

70k x 20 x 2Mb = 2800000Mb = Around 2.8 Tb

70k x 20 x 5 = 7 000 000Mb = Around 7Tb

And it really depends on how often customers access these sites. Either way you are going to need a lot of storage for your clients. I would probably suggest splitting the load over multiple servers to balance it out. So either you could get a back end SAN device with between 5 and 10 Tb of storage with a back end network then 2 or 3 Front end web servers with a lot of memory to service the requests.
Generally, I agree with Aegil.  There isn't a lot of information provided which is necessary for other aspects, such as how the images are used once they're uploaded.

An image whose size is measured in megabytes is, generally speaking, too large for general "web consumption" (served on a webpage): while it might be alright to upload images of this size, displaying them on a webpage should be done using a smaller, optimized version, possibly a thumbnail.

There's a couple of different options here, each playing a large part in where the resources have to be allocated: the smaller version (and thumbnail) can be generated on-the-fly, saving disk space but requiring a heavier load each time the image is requested.
Assuming I'm not far off base here, figure out if you want to strain the server to save disk space, or spare the it the strain by generating the images and storing them on the server.  For on-the-fly, you'll want to add additional processing power and RAM.  I think there's more art than science to that part... but I haven't dealt with the system administration side of things on a high-traffic website in quite some time.

If you want to store the smaller versions on the hard drive, you're looking at additional space.  Trying to figure out an exact number is subject to a lot of variables (how optimized the images are, etc); easiest just to double required space, allowing for future growth... that said, 5.6-14Tb of drive space could become rather expensive, so just adding an additional 25% more (3.5-8.75Gb) to compensate.

The question of CPU and RAM is still wide open.  Based on the size of the images and number of clients, I'd say bandwidth might be the next potential bottleneck to consider.


Thanks guys, will think about it.

Explore More ContentExplore courses, solutions, and other research materials related to this topic.