Home energy monitoring - InfluxDB onto t2.micro

Home energy monitoring - InfluxDB onto t2.micro

I would not recommend running an I/O hungry process like InfluxDB on a Raspberry Pi. The fact that it can work is convenient for demo purposes, but for reliable long term use, we need something more performant.

I’ve seen the raspberry Pi lock up once a week until I started rebooting it regularly, and even then it sometimes locks up.

I moved the InfluxDB server to a t2.micro AWS instance, which has same amount of RAM as a Raspberry Pi (1GB), but much higher I/O capacity and a beefier CPU. It also is running no other processes than just InfluxDB so more of the memory can cache the time series data resulting in faster query performance.

A t2.micro is way less than what Influx data recommends, but it is sufficient for my small IoT use case. Running on a separate datacenter class host saves me an hour every couple of weeks untangling stuck processes on the Pi due to thrashing from lack of memory or flash storage issues. Saving a couple of hours of my time per month is worth much more than the $8.50/month it costs to run the host in AWS.

I found out later that linode offers a “Nanode” plan (1GB RAM, 25GB storage) for $5/month, so that would also be an option.

I could have also tried hosting it on another dedicated Raspberry Pi server (one time cost of about $50 for Pi and storage plus 3.6 kWH/month (5 watts continuously) or less than $1 of power cost per month). The payback on that would be in four months, but it would be one more piece of hardware I have to worry about installing and keeping healthy.