Installation and Upgrade > ThingWorx Sizing Guide > Compare Sizing Criteria to Guidelines
Compare Sizing Criteria to Guidelines
Compare your requirements against the following tables to select a size baseline.
Thing Count and Connection Servers Estimates
The number of Things managed by ThingWorx has a significant influence on the memory requirements of the platform but has little bearing on CPU utilization.
Compare your Thingcount (T) from the data ingestion calculation against the baseline below. In clustered deployments, each individual ThingWorx Foundation node will need enough memory to load the entire model.
For Connection Servers, one for each 100,000 devices is recommended. Round your expected Thingcount to the nearest 100,000 for this calculation.
For high availability considerations, consider including at least one additional Connection Server above this estimate to ensure enough capacity in the event of a Connection Server node failure.
In clustered operations, Connection Servers are required in order to distribute device load across the cluster, or to re-distribute if a node failure occurs.
Note that the hardware sizing recommendations for each Connection Server type vary, as detailed in the ThingWorx Connection Services Help Center.
Foundation Server
Memory
Number of Devices (or Things)
Number of Connection Servers
(+1 for redundancy)
X-Small *
8 GiB
up to 10,000
1 (+1)
Small
16 GiB
up to 30,000
1 (+1)
Medium
32 GiB
up to 100,000
1 (+1)
Large
64 GiB
up to 250,000 **
2 (+1)
Reminder: Sizing Guide recommendations are intended for use initial baselines to size ThingWorx implementations. Individual results will vary based on edge configuration, application load, etc.
* X-Small uses less memory than recommended for production implementations.
** Contact PTC for assistance sizing implementations above 250,000 devices
Value Stream (VS) Queue Rate and HTTP Requests Comparison
Use the Writes per Second (WPS) and HTTP Requests per Second (R) calculations from the Data Ingestion and Data Visualization sections to select a baseline. For each combination listed, the WPS and RPS values were obtained during the same sizing test run.
These sizing tests prioritized the highest possible data ingestion rate for the given hardware, accepting lower HTTP request results to obtain them. To target an HTTP Request rate that is higher than the baseline, plan for a Value Stream Queue Rate lower than the result listed to compensate.
Foundation Server
Database Configuration
Value Stream Writes per Second (WPS)
HTTP Requests per Second (RPS)
X-Small
H2 *
3,000
19
Small
Microsoft SQL Server
3,000
19
PostgreSQL
17,000
32
PostgreSQL + InfluxDB **
33,000
95
Medium
Microsoft SQL Server
18,000
82
PostgreSQL
26,000
84
PostgreSQL + InfluxDB **
90,000
120
Large
Microsoft SQL Server
26,000
112
PostgreSQL
47,000
122
PostgreSQL + InfluxDB **
203,000
238
Reminder: Sizing Guide recommendations are intended for use initial baselines to size ThingWorx implementations. Individual results will vary based on edge configuration, application load, etc.
* Implementations using the H2 in-memory database are not recommended for production ThingWorx implementations.
** For the InfluxDB tests conducted, the largest number of property instances in the InfluxDB database was less than 1,000,000. For example, if there are 10,000 Things, and each has 100 properties, this will result in 1,000,000 series in InfluxDB (10,000 × 100).
Series counts above 1,000,000 are possible, but this guide may not provide accurate sizing estimates. For a reference implementation with more than 3,000,000 series, please consult the IOT EDC Remote Monitoring of Assets Reference Benchmark.
Was this helpful?