Our company is developing a very big Ignition solution for a customer with a complex architecture including several Gateways and several database servers distributed on different sites and considering security layers. We are using Perspective only.
The project is growing, and we expect that at a point we will have over 14MM Tags on a single layer, and we are discussing how many servers can handle this.
We received a recommendation from Inductive to consider a maximum number of 1.5MM tags on a single server.
In our case we have a gateway server (Back end) with 16 cores (virtual cpus) and 64 Gb of RAM memory that has 4.5 MM Tags. It works but not 100% error free. We think that it can handle this number of tags increasing cores and memory.
I want to ask for real life expertise about this. Can anybody share with us cores/memory of servers with millions of tags?
Also consider supportability and maintenance:
If you have 14 million tags the plan of attack for organizing those should be well structured, so break down what tags make sense to be put together in those chunks of 1.5 to 2 million tags and divide it up that way.
I see you say backend server, but just to make sure I state this:
You should not have 1.5 million tags and perspective running on the same gateway. Or 4.5 million in your example. Utilizing a front-end and back-end gateway each (possibly multiple of each depending on number of screens and other factors) will also help handle load.
Don't put databases on the same server as Ignition either to help with performance.
I have found that with Ignition slamming a server with hardware capabilities doesn't always equal success. You have to architect out efficiency.
Yes of course, we have separate back end servers holding the actual tags, separate front end servers running the perspective, and separate servers running the databases.
My request for information is just for reference due that my customer wants to be sure that Ignition can handle such a big application, and also we want to have some reference prior to implementation in our testing environment.
So our decision right now can be lots of servers with less tags or few big servers with more tags.
I would recommend looking at Ignition Architecture Docs and reading more on the forum about Ignition architecture as there are plenty of conversations about it.
I am working on a large implementation for a food & bev manufacturer, and we are utilizing a structure similar to the scale-out.
Like I said, and IA recommends, you will need to manage the number of tags on each server as processing millions of tags from OPC takes time as well as tracking those tags in historian etc.
I haven't done a system that big but my experiences so far are consistent with what @Benjamin_Furlani said.
I would add that the number of tags a server can handle is one thing. The number of tags a PLC can handle based on the way you are updating them is another thing. Then you have other potential issues such as tags coming from AOIs if we're talking Rockwell tags, etc. There are a lot of variables and you should probably consider a pilot project to test out an architectural plan before you go crazy with it.
Not all tags are equal... for example, memory tags don't poll so they won't create the same kind of load on your architecture as polling tags do. Polling rates impact a lot at scale as well. Database tags have a much higher impact obviously.
I'm assuming you're already planning to use MQTT for security and streamlining the data transmission side of things. If not, look into it.
I don't know if it's because our windows servers have more IT scanning stuff going on or something else but I feel like our Linux servers can handle a lot more tags than our windows ones also.