Software Versions & Server Sizing
Software versions
The software versions currently used are:
MQTT Broker: ActiveMQ 5.14+ http://activemq.apache.org/
Database Postgresql 9.4+ http://www.postgresql.org/
Timeseries Database: InfluxDB 0.8+ http://influxdb.com/ (new! → Influxdada1.3)
Application server: Tomcat 8+ http://tomcat.apache.org/
All of them have built it redundancy capabilities.
Server Sizing
Sizing is highly dependent on the number of sensors and the polling intervals. Please refer to Storage and Traffic for more information.
This number should be taken only as a reference, the final sizing would be done during each project.
General assumptions:
50 sensor points per location
Average 15 min interval
500 users working parallel with web-gui
Instance | Memory | CPU Cores | Storage |
|---|---|---|---|
Small | 8 GB | 2 | 100 GB |
Medium | 16 GB | 4 | 500 GB |
Large | 32 GB | 8 | 2 TB |
Tomcat Application Server
For anything larger than 1000 sites we would recommend to separate data-processing server and Web-Interface server (tomcat).
Locations (up to) | Tomcat (data processing) | Tomcat (web interface) | Load Balancer |
|---|---|---|---|
1000 | Medium | ||
3000 | Medium | Medium | Small |
5000 | Medium | Medium | Small |
10000 | Large | Large | 2x Medium |
30000 | 2x Large | Large (500 users) | 2x Medium |
Sizing influences | Sensors, intervals | Web users | |
ActiveMQ
Locations (up to) | ActiveMQ | Comment |
|---|---|---|
1000 | Medium | (or 2x Small – reliability) |
3000 | Medium | (or 2x Small – reliability) |
5000 | 2x Medium (1Master 1 Slave) | |
10000 | 2x Large (1Master 1 Slave) | |
30000 | 3x Large (1Master 2 Slaves) |
Sizing Influences:
number of sensors
polling interval
Databases
PostgreSQL (or any other SQL)
InfluxDB
Locations (up to) | Databases | Comment |
|---|---|---|
1000 | Medium |
|
3000 | Medium |
|
5000 | Large | (or 2x Medium – reliability) |
10000 | 1x Large 1x Medium | 1 Cluster 1 Shard |
30000 | 3x Large | 1 Cluster 2 Shard |
Sizing influences:
number of sensors
polling interval
historical data persistance time
Storage and Bandwidth
Please refer to Storage and Traffic for further information.