Many factors impact the performance, including: the number of devices on the network, the frequency of accessing points, the size and frequency of generated reports, the complexity of analytical algorithms, the scheduling of station backups, the security overhead, and the frequency and complexity of BQL (Browsing Query Language) queries.
System optimization is a process of balancing memory resources: CPU memory, which is the main resource; VM (Virtual Machine) memory or Heap storage, which loads and runs the system at boot; and System memory, which runs the operating system. Each memory resource must have a reasonable amount of reserve for the system to function optimally. Performance degrades dramatically when all memory resources are at maximum utilization.
At times, as the CPU performs some operations it’s memory usage spikes to 100 percent and after completion it settles back down. Running the CPU all the time at 100 percent may cause it to crash.
A station running on a Java VM creates objects and marks them for cleanup. Java runs garbage collection and cleans out all the objects that were marked in the VM memory so the whole process can start again. You can see the VM memory increases and decreases. You must have that cushion of free memory so that Java VM can operate effectively.
Performance optimization is a moving target. At times your system may have plenty of VM memory available, but you cannot increase the station size due to the fact that the controller is running low on CPU (too many changes happening in the station). Or your CPU may almost be idle, but you may be running out of VM memory. The only solution is to configure the station such that all three resources are within the recommended values.
Since every system is programmed differently, a specific device count cannot be determined. One system runs a JACE-8000 with 265 BACnet MS/TP devices, however, another system that puts graphics on a JACE-8000 may have 100 BACnet devices. Or changing how many points are brought into the station changes the equation for device count. So the performance for both the systems may vary. By managing the usage of CPU, VM memory, and system memory each system can optimize its performance.