Performance and Scalability Facts
AggreGate IoT Platform was designed with unlimited scalability in mind. While communication with a million devices definitely requires multiple servers to get joined into a distributed installation, but even a single AggreGate Server based on a single CPU server hardware can demonstrate impressive performance figures:
- Managing of 50-100 thousand devices with simultaneous handling of 10-20 thousand TCP/UDP communication sessions. In many cases the latter limit is substantiated by an underlying server OS.
- Handling 1-5 million device variables (read-only metrics or read-write settings)
- Processing 100-200 thousand events per second, assuming that 5-10% of those events get passed through the whole event processing workflow and routed to operator workstations or external systems
- Persistently storing 500-2000 events per second in a relational database or 50-100 thousand events per second in the integrated NoSQL database
- Handling 100-200 thousand device metric updates per second if no history storage is enabled
- Handling 500-2000 device metric updates per second if history is stored in a relational database and 50-100 thousand metric updates per second if history is stored in the integrated NoSQL database
Number of devices serviced by a single server will greatly vary depending on the number of device metrics, their polling/update period and storage settings, as well as devices' event generation rate. Detailed server hardware selection guide is available here.
OEMs, VARs and system integrators designing AggreGate-based solutions should consider performance optimization hints provided independently for each type of "active" server object. Check system documentation for details.