How to roughly estimate I/O use by connected devices?

My online service says that each electric imp I deploy is using up to 300 MB/s of data per month. These Imps sleep and wake up each minute and upload readings on either 5 or 7 thermistors.

I’m pretty surprised by that number, but really don’t know how to estimate data use by an online device? Are there any rough and easy ways to estimate I/O use by an online device? Rules of thumb?

Basically I’m wondering if it is at all possible for an electric imp to use 300 MB/s a month when it wakes up for a second or two each minute to upload a handful of temperatures.

300MB per month is ~10MB per day, which is ~7KB per minute. Considering that the imp has to do a TLS handshake (for connection security) before it even gets started sending your data, 7KB to connect and send a few readings sounds about right.

On that basis, if you gathered up all the readings and sent them once per hour instead, you’d use the same amount of communications overhead to transfer a larger amount of your own data – so your total data usage would go down dramatically.


Thanks, Peter. I should clarify that by ‘online service’ I meant the website to which I’m uploading the temperature readings, not the internet service provider. Sorry to be confusing.

So now you’re talking about disk space used instead of bandwidth?

If that’s what you mean, give us a few lines of data that you send, example, the string you send to your website that represents the temp data.

Sounds like your online service is charging you for the TLS session setup too? (ie, they’re not just charging you for the data you’re sending, but the bytes their network interface is processing on your behalf).

Thank you Peter, Mlseim and Hugo. This is great feedback. I appreciate your help very much.