Our team often gets questions about the extent to which our products can be used. It’s important to differentiate between technical versus practical limits when discussing what is and is not possible.
Continuing our Tech Support Corner blog series, I will be providing some insights into how many channels, devices, and tags it is technically possible to set up in TOP Server while also highlighting some practical rules of thumb to observe to ensure the best performance.
To start, I would be remiss to not acknowledge that TOP Server drivers do technically have defined maximum limits for channels and devices. For example, the Modbus TCP/IP Ethernet driver has a maximum channel limit of 1024 channels, and a maximum device limit of 8192 per channel, for a technical maximum of 8,388,608 total devices per TOP Server instance for that driver. Remember, though, while that’s a technical possibility, it wouldn’t be very practical from a performance perspective, as I’ll discuss in the rest of this post.
These defined maximum limits for each driver are documented in two places in TOP Server:
- The Help file for each specific driver available under Help –> Driver Help in the root of the "Setup" topic, as shown below for Modbus TCP/IP Ethernet.
- By going to Help -> Support Information -> Versions, then double-clicking the specific driver entry in the resulting list, as shown below.
As I mentioned, while these driver-level limits are defined in the software, there are other practical limits to consider regarding how many channels and devices should be configured in a single project. Realistically, it is unlikely that someone will be able to connect to 8,388,608 devices on a single TOP Server instance without running into performance issues (and the majority of our users never come close to even having that many devices on a project).
These practical considerations include available resources on the machine, how many clients are connected, how many tags are being polled, how quickly the tags are being polled, processor power, and network speed.
Ultimately, every setup will be different due to the variables involved which is why a universal blanket statement on performance limits would be almost impossible to make and why we ask so many questions in response to inquiry around performance. Our team has seen users with hundreds of thousands of tags being read with no issues, as well as users hitting a resource cap at the same number of tags.
To illustrate this, here are some of the real-world examples we have seen, including the resulting CPU resource usage in those scenarios:
Both scenarios involved a significant number of devices and a one device per channel architecture (which is the recommended best practice for Ethernet-based drivers whenever possible). Such scenarios are possible because TOP Server provides a host of performance-related options to efficiently use the resources available on the server where it is installed, including:
- User controllable threading (each channel in a TOP Server project is its own thread)
- Thread-safe application
- Load balancing with multi-core / multi-CPU machines
- Processor affinity settings (specify one or more CPUs / Cores - defaults to spreading load evenly across all available CPUs / Cores)
- Processor priority settings (ability to flag TOP Server runtime service as a high priority process)
- Ability to run as a service (runs as a Windows service by default - no logged-in user required for runtime communications)
Note that the real-world examples were not using any Electronic Flow Measurement (EFM) communications (common in the Oil & Gas industry - often involves lower bandwidth communications over telemetry networks such as serial radio and cellular). I mention this since, if you are using the TOP Server EFM Suite, there are generally much slower update rates due to the external limitations of the network and devices, in addition to, performing both real-time data and EFM data polling. In fact, with respect to performance and best practice for EFM communications, we have a guide specifically addressing EFM with Real-Time Communications available here.
Now beyond performance recommendations for configuration and best practices, with respect to underlying system specifications, TOP Server guidelines are that hardware should meet or exceed the recommended requirements for the Operating System to be used. As such, we always suggest reviewing the recommended requirements for the specific Operating System of the server where you plan to install TOP Server (as opposed to the "minimum" requirements for the Operating System).
In general, though, the machine should have the following specifications at a minimum (as the minimum specifications and Operating System support are subject to change with newer versions, it's always best to refer to this section of the TOP Server website for the latest information), while deferring to the recommendations for the Operating System:
- 1 GHz Processor
- 1 GB installed RAM
- 530 MB available disk space
- Ethernet Card
- Super VGA (800x600) or higher resolution video
We hope these clarifications on practical channel and device limits for TOP Server has been helpful towards understanding your own configurations and what may or may not be possible. For larger projects, we always encourage our users to reach out to our support team to discuss the variables involved before configuration starts to ensure best practices are followed and to ensure the best performance. To that end, please feel free to contact our support team with any questions, and don’t forget to subscribe to our blog to find out about the latest updates to TOP Server and other useful technical topics.