# Tag write performance issues in Ignition application

**URL:** <https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931>\
**Category:** Ignition\
**Tags:** vision\
**Created:** [June 3, 2025, 4:06am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931 "2025-06-03T04:06:49Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![shonores](https://avatars.discourse-cdn.com/v4/letter/s/e95f7d/32.png) [@shonores](https://forum.inductiveautomation.com/u/shonores)\
**Post date:** [June 3, 2025, 4:06am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/1 "2025-06-03T04:06:49Z")

</div>

Hello everyone, I'm experiencing issues with tag response times in an Ignition application.  
This project is currently set up with a Scale-Out architecture, consisting of a Front-End server and two Back-End servers connected to the PLCs.  
We've been seeing recurring issues with slow tag writes.

The project is currently configured with a **Scale-Out architecture** , with one **Front-End server** and two **Back-End servers** that handle the PLC connections. All tags read from the PLCs are created as **OPC tags on the Back-End servers** , and are then referenced from the Front-End.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/3/f/3fc9fd2ad2e4e0d41117aabe9b7e5596a44fd9b2.png)  
For example, in the image you can see, I have a control module based on the **ISA-88 standard**. When switching from **Automatic mode to Assisted Manual mode** , it takes around **30 to 35 seconds** for the system to respond.

I've checked the communication and response times between servers, and haven't found any bottlenecks there. Other actions in the system work as expected, but this specific tag write delay keeps recurring.

Has anyone experienced something similar or have suggestions on what I could check to improve tag write performance?

Any ideas would be greatly appreciated.

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [June 3, 2025, 4:30am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/2 "2025-06-03T04:30:35Z")

</div>

I will assume that the measured time is from the time the command is sent and the handshake response.

**Test 1** :  
Send the command straight from the remote tag provider tree at the designer (on the frontend) ignoring the window:  
Measure the time and share\_\_\_\_\_\_\_

**Test 2** :  
Send the command straight from the local tag provider also from the tag tree at the designer (on the backend)  
Measure the time and share\_\_\_\_\_\_\_

**Test 3** :  
Send the command straight from your PLC  
Measure the time and share\_\_\_\_\_\_\_

**Test 4** :  
Create a dummy memory tag at the backend and send a command from the frontend. Is the new value immediately showing on the backend?  
Measure the time and share\_\_\_\_\_\_\_

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 3, 2025, 4:32am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/3 "2025-06-03T04:32:42Z")

</div>

Also, what are your tag group settings for this particular tag (both in the UDT which I assume you're using, and the tag itself - check just to be sure no one overrode the tag group on this specific tag).

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [June 3, 2025, 4:39am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/4 "2025-06-03T04:39:36Z")

</div>

I would add to check the tag group on both frontend and backend gateways.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [June 3, 2025, 8:39am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/5 "2025-06-03T08:39:24Z")

</div>

I would be checking your device stats on the backend gw for the devices in question from where your tags are coming from, as well as the tag group settings they're part of in the backend gw(as already mentioned). If your PLC is overloaded, then this could well be the reason you're not seeing fast tag updates. This is under Status -\> Connection: Devices. Then click on your device's Details.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/d/1d158e3d635d2835243a21675a58291cced76a8a.png)

Note, the fastest rate that remote tag providers will be delivered tag value updates is 1s. I don't believe this is configurable: [Remote Tag Provider updates tags slower than Realtime Tag Provider - #2 by Kevin.Herron](https://forum.inductiveautomation.com/t/remote-tag-provider-updates-tags-slower-than-realtime-tag-provider/84029/2)

> [@jespinmartin1](#):
>
> check the tag group on both frontend and backend gateways

The frontend won't have any (relevant) tag groups if the tags are coming from the backend

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [June 3, 2025, 3:52pm UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/6 "2025-06-03T15:52:35Z")

</div>

> [@nminchin](#):
>
> The frontend won't have any (relevant) tag groups if the tags are coming from the backend

Agreed. It will be relevant if the tag group is greater than 1s at the frontend, won't it?

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 3, 2025, 4:02pm UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/7 "2025-06-03T16:02:57Z")

</div>

Tags in remote tag providers are read directly from the remote tag provider, not through the local tag provider, so the tag group that matters is the remote tag provider's tag groups where that tag is the local tag.

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [June 3, 2025, 4:09pm UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/8 "2025-06-03T16:09:04Z")

</div>

So, for example the Leased Tag Groups make no sense on a remote tag provider at the frontend? That configuration should be pre-defined at the backend?

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 3, 2025, 5:04pm UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/9 "2025-06-03T17:04:20Z")

</div>

When you're viewing tags from a remote tag provider on the frontend, those are the tags on the remote tag provider, they're not local to the frontend.

---

<div class="post-metadata">

**Author:** ![lrose](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/lrose/32/62724_2.png) [@lrose](https://forum.inductiveautomation.com/u/lrose)\
**Post date:** [June 3, 2025, 5:05pm UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/10 "2025-06-03T17:05:50Z")

</div>

> [@jespinmartin1](#):
>
> Leased Tag Groups make no sense on a remote tag provider

Remote tags get all of there information from the backend. Even if you were to say create a reference tag on the front end that was in a leased tag group, and reference a remote tag, I'm not sure you would really be saving the front end that much overhead. And you certainly wouldn't be removing any load from the device, which I believe is the intent of Leased Tags.

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [June 3, 2025, 5:18pm UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/11 "2025-06-03T17:18:34Z")

</div>

> [@michael.flagler](#):
>
> When you're viewing tags from a remote tag provider on the frontend, those are the tags on the remote tag provider, they're not local to the frontend.

Sure, that is the core concept on remote tags providers, we agree on that. The question is if the tag groups on the remote tag provider is utilizable?

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 3, 2025, 7:47pm UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/12 "2025-06-03T19:47:25Z")

</div>

The tag group that matters is the tag group on the same provider that the OPC tag exists in. When you use a remote tag provider, and if you have write access to the remote tag provider and you change a tag group on a tag, it's changing it on that remote tag provider. In this case, it's the backend gateway. Changes made to a remote tag provider are not local to the current/local gateway. The only question would be how reference tags work, but I believe they don't even use tag groups as the tag groups are really for OPC tags more than anything.

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [June 4, 2025, 3:41am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/13 "2025-06-04T03:41:13Z")

</div>

Great observations. So, is it safe to delete the tag groups at the remote tag provider?

> [@michael.flagler](#):
>
> The only question would be how reference tags work, but I believe they don't even use tag groups as the tag groups are really for OPC tags more than anything.

Probably tag groups **has** an effect on derived or reference tags. I don't have an Ignition on hand.

---

<div class="post-metadata">

**Author:** ![jespinmartin1](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jespinmartin1/32/57175_2.png) [@jespinmartin1](https://forum.inductiveautomation.com/u/jespinmartin1)\
**Post date:** [June 4, 2025, 4:00am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/14 "2025-06-04T04:00:19Z")

</div>

> [@shonores](#):
>
> Any ideas would be greatly appreciated.

Do you have the results?

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 4, 2025, 4:14am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/15 "2025-06-04T04:14:47Z")

</div>

Derived tags don't use tag groups, but you still need a tag group for tags in the frontend (you can't just leave it blank). It doesn't hurt to have them, as they don't do anything if they're not used. But you could just keep the default ones that come as part of your local realtime tag provider.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [June 4, 2025, 11:31am UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/16 "2025-06-04T11:31:06Z")

</div>

> [@jespinmartin1](#):
>
> So, is it safe to delete the tag groups at the remote tag provider?

Uh, I think that will pass through and delete those tag groups on source provider.

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [June 4, 2025, 2:16pm UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/17 "2025-06-04T14:16:45Z")

</div>

> [@jespinmartin1](#):
>
> So, is it safe to delete the tag groups at the remote tag provider?

Tag Groups are attached to a _tag provider_. Each tag provider has its own defined Tag Groups. So the answer is a big no to this question; as Phil said, deleting Tag Groups will delete them from the associated tag provider. A "Remote" tag provider is just a reference to the source. Deleting from the reference will delete it from the source (similarly, deleting tags from a remote tag provider connection will delete them from the source)

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [June 4, 2025, 2:22pm UTC](https://forum.inductiveautomation.com/t/tag-write-performance-issues-in-ignition-application/106931/18 "2025-06-04T14:22:38Z")

</div>

I think in my response, I was misunderstanding what he was asking due to how he was using terminology like remote tag provider rather than saying the local tag provider on the front end, but hopefully your explanation clears it up for him. I have a feeling he's getting confused on how the tag providers work and maybe he was thinking that a remote tag provider is a "copy" of the tag provider from the remote gateway, when in reality it's a direct reference and that there's only a single source of "truth" for each tag provider and that modifying a tag provider anywhere modifies that source tag provider no matter whether it's local to the gateway or remote.
