

If you want to put it on the same server as Ignition, you will need more processing power and memory. The SQL database (MySQL, Microsoft SQL Server, etc.) in all of these scenarios below should be on its own dedicated server. Since Ignition has a lot of different features, this guide is going to focus on the number of devices, tags, and clients. The purpose of this guide is to walk you through projects of different sizes to understand their hardware requirements and architecture. At the end of the day, those separate servers work as one Ignition unit and are completely transparent to the user, thanks to Ignition’s Gateway Network and standards like OPC-UA, SQL, MQTT, and more. Luckily, Ignition is modular and has the ability to scale-out by separating different modules and features onto dedicated servers. However, when projects get large or when we push the limits of Ignition, we need to utilize multiple servers. In most cases, a single server is sufficient to handle everything. We can go hours or days without anyone using that screen but then we could have a situation where 10 people are using it at the same time causing an increased load on the server. For example, we can allow a user to pull back a year of historical data on a trend and poll it at a one-second rate. Other features, such as visualization clients, have less predictable performance since they are based on how the user interacts with the system and how the project is configured. Some of the features above, such as device communication and tags, have predictable performance. Ignition is heavily multithreaded and can handle configurations with all of the features above at reasonable limits. Polling queries (tag historian, alarming, custom queries, etc.).Number of tag subscriptions on a screen.Scripts running on the server (timer, message handlers, etc.).Transaction groups (especially large numbers).Alarming (status, journal, notification pipelines).Tags (OPC, Expression, SQL query, etc.).Features, such as the following, require processing time and memory: The features you use in Ignition also play a large role in performance. Deployment (physical machine, VM, etc.).SQL database throughput (historian, alarm journal, etc.).Number of concurrent visualization clients.Number of tag value changes per second (% of change).Frequency of tag polling (1 second, 5 seconds, 1 minute, etc.).Ignition’s performance and sizing is based on several different factors: There is no guarantee on performance since it is based on your design choices. Throughout that process you can observe the performance characteristics of the server in order to make any necessary adjustments to the architecture. It is important to note that any architecture that you come up with needs to be fully tested and verified. This guide is intended to provide some tips to help you determine the correct architecture depending on your requirements. It is extremely important to find the right architecture and sizes of servers for your Ignition project so that the project will work as intended and have room for growth in the future. An Ignition project can be as small as a data collector for a few tags or as large as an enterprise solution with hundreds of devices, hundreds of thousands of tags, and hundreds of visualization clients. Ignition is a development toolkit, with unlimited licensing and different modules, that gives you the tools to build solutions. Ignition Exchange Community-made Ignition resources.Ignition Maker Edition Made for hobbyist and educational use.Ignition Edge Made for field and OEM devices at the edge.
