I have a big SCADA project on a serverin the same gateway,in which I’m currently struggling with speed performance . I have come across Scaling-Out Ignition Architecture Gateways however I haven’t attempted before so seeking for advice.
Number of projects : 4
Number of Tags : 10.000
Is there a guide that takes through the step to accomplish that? If so could someone share a link?
What would be the best possible way to design and split the gateways?
That’s not a lot of tags, you’re unlikely to benefit from an architecture switch at this point.
Where are you running the gateway - a physical host or a VM? How much memory and CPU on the server? How much memory does Ignition have access to? Are you running anything else ‘heavy’ (e.g. a database) on the same server? What does Ignition (and your OS) report for CPU and memory usage?
Just FYI, a customer of ours got to about 350k tags before looking to split out their architecture into frontend/backend with ~100 clients mixed Vision and Perspective. They are running Ignition in a VM and had 24GB total RAM and reasonable CPUs with 6 cores and 16GB assigned to Ignition. SQL running independently in another VM. We were seeing CPU spikes and average CPU was around 30-60%. Some of this was due to inefficient scripts (oopsie) and a reasonable number of bad tags due to a fast evolving system. Addressing these, we did end up getting it down to 10-15% CPU average, but we’re still scaling out. Point is, a single server should easily handle 10k tags
Also as I am using designer from my local machine remotely looking at the server through vpn, I noticed that on my task manager zulu platform looks like this, and not sure why I see (10) next to it? what does it mean?
You’re capping your igntion memory to 2GB which is what’s killing it. You’ll need to change it in the ignition.conf file on the gateway and restart the ignition service. Change the Max Java heap size from 2048 to something much larger.
Thanks for the advice! I have applied that, however my HMI that the SCADA is running through workstation mode isn’t much faster(Neither through the browser of the HMI). Do you believe installing ignition on the HMI
(Processor: Intel(R) Celeron(R) CPU N2930 @ 1.83GHz 1.83GHz,
RAM : 4.00GB (3.89 usable)
Slow means 3s delay…I did restart it as I do see it on the Status/Performance page on the gateway now changed to 4096. Possibly has to do something with the HMI however task manager there isnt utilising more than 36% Memory.
The ‘main’ designer process has 10 child process. As Task Manager is telling you, most of them are ‘Chromium’ related; Chromium is what’s used to render the Perspective design session you get inside the Ignition designer. There’s some smoke and mirrors involved so it’s not something you generally notice.
Your HMI is probably going to struggle a bit with Perspective, unfortunately. That’s a fairly old, fairly slow processor, and Chromium (also used by Perspective Workstation) is notoriously memory-hungry.
4GB still isn’t much - you have 24GB, I would go with 6-8GB. What’s the new graph of your memory from the ignition gateway status page?
As Paul said, your HMI specs are definitely extremely low. The CPU passmark is only 994. For our applications, we aim for at least 3-4000 (but generally we use 8000+ processors) and 8GB RAM. We first started using low spec Advantech’s with CPUs with about 900 passmarks and we had nothing but issues with them regarding performance. Now we’re using Beckhoff HMIs with recent-generation CPUs with passmarks 8,000-12,000 and we’ve had no issues
I appreciate all for your feedback. I noticed that running SCADA in Chrome of the HMI runs faster than the workstation standalone app in kiosk mode. Ignition on the server is using g 4096 GB after your recommendations. And the Web link is a lot faster indeed. Is there a way to utilise the 4gb of the hmi for ignition as well? I have installed ignition locally in the HMI and it’s set at the same memory as the gateway however the memory in task manager is at 60% now, which I suppose could somehow increase it to use a bit more?
In doing this, you installed an independent Ignition Gateway on your HMI. If this HMI is supposed to be a client to your main Ignition gateway, this probably isn’t what you want to do and it will only reduce your HMI’s performance due to now also running an entire Ignition gateway as well. You would only do this if you wanted your HMI to run independently to your main gateway, for example for a standalone machine HMI or for critical HMIs that are configured to fall back to their local gateway in case the connection to the main gateway drops. In either case, you will want higher spec hardware to run a local Ignition gateway as well as a Perspective client. That being said, you can run an Ignition gateway on low spec devices like a Raspberry Pi but only for simple, low resource-heavy projects.
If your used memory is always sitting at 4GB in the Ignition gateway then you need to assign more memory to Ignition. It shouldn’t be at 100% and you will likely have it crash on you constantly if you do.