We have a facility that needs to upload approximately 20 3MB photos per minute to Amazon S3. These are coming from 10 different machines on our local network. We need to do this continuously for 16 hours a day. Given these requirements, how do I calculate the capacity needed for upload from our location?

Any advice on good solutions with scaling options for growth would also be appreciated.


It's just basic math.

(20*3)/60 is how much bandwidth per second you will need. (protip, it works out to 1MB/s)

If you need to find the data transferred over 16 hours just multiply it by 60 to get minutes, then 60 again for hours, then 16 since you want to do it for 16 hours. It works out to about 57.6 GB per day.

Honestly though, doing this kind of simple math is a fundemental skill that you should be able to do. It's a building block for, literally, everything else.

As for "advice on scaling" you're asking "how long is a piece of string."

  • Thanks. I had done this calculation. It's possible I am using the wrong terminology and didn't describe things right. Comcast offers a 10 mbps up cable option under their "business class" service. Will this be enough? At what scale does that become the bottleneck?
    – chrishomer
    Apr 27 '12 at 23:01
  • Reno? Window Scaling? Packet loss? Difference between bytes and bits? If you want to get a sustained upload 60 MegaBYTES per minute, that's around 8.5 MBit/s, minimum. In practice, fitting this over 10MegaBIT/s will be tight, and it presupposed no congestion window issues between the end points (although if there mutliple concurrent transfers that shouldn't be too much of a issue.
    – symcbean
    Apr 27 '12 at 23:27
  • 3
    The difference between a bit and a byte is a factor of 8. Again, very basic. Part of your problem is that you wrote mb which isn't a unit that is ever used. It's always Mb for megabit and MB for megabyte. Like any other time you use units, capitalization is of the utmost importance. If you need to push 1MB/s then that's equivalent to 8Mb/s, since 8 bits = 1 byte. All pretty elementary sysadmin stuff.
    – MDMarra
    Apr 28 '12 at 0:05
  • Also "at what scale does this become a bottleneck" should be pretty self-explanatory. When you need to push more data than your pipe can handle. Not to be offensive, but you really should consult someone with more experience on this project if it has the potential to impact your business.
    – MDMarra
    Apr 28 '12 at 0:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.