# 8.0.16 Upgrade thousands of timed Waiting Threads Lower Performance OPC UA and Perspective

**URL:** <https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100>\
**Category:** Ignition Early Access\
**Created:** [December 1, 2020, 5:55pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100 "2020-12-01T17:55:54Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![wking](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/wking/32/21823_2.png) [@wking](https://forum.inductiveautomation.com/u/wking)\
**Post date:** [December 1, 2020, 5:55pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/1 "2020-12-01T17:55:54Z")

</div>

Attaching Thread Dump. After a restart, I have just a couple hundred timed waiting threads. Then I get a bunch of perspective worker thread and OPC-UA Platform Executor threads. My gateway crashes when it gets to about this level. And My devices are going stale. Where it doesn’t throw any errors through the tags or through the OPC module. It acts as if the connection is fine. But, tags are changing in PLC and not in Ignition.

[Ignition-IS-DP-IGNITION\_thread\_dump20201201-114602.txt](https://forum.inductiveautomation.com/uploads/short-url/laJUPhAZfk1AKRKOgDfsX6q0SfQ.txt) (2.8 MB)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/d/9/d9009dcaeebbff1615cdc8247fb64de13572e117.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/6/3/6370af90532be7dc065c66b7801d6758c3681be9.png)

---

<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:** [December 1, 2020, 9:42pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/2 "2020-12-01T21:42:23Z")

</div>

Sounds like you need a more powerful gateway. Or look for artificial limits on thread count.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [December 1, 2020, 9:43pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/3 "2020-12-01T21:43:23Z")

</div>

Maybe, but it also seems like a binding or some script read/write has gone into a loop or otherwise run out of control…

---

<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:** [December 1, 2020, 10:08pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/4 "2020-12-01T22:08:06Z")

</div>

Ooo! Bet there’s a sleep in there.

---

<div class="post-metadata">

**Author:** ![wking](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/wking/32/21823_2.png) [@wking](https://forum.inductiveautomation.com/u/wking)\
**Post date:** [December 1, 2020, 10:57pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/5 "2020-12-01T22:57:08Z")

</div>

I’m not calling time.sleep anywhere. I do have a more powerful server I am setting up and moving to Linux system. But, this started with 8.0.16. Wonder why I wouldn’t of had these problems on a prior version.

---

<div class="post-metadata">

**Author:** ![james\_electriceng](https://avatars.discourse-cdn.com/v4/letter/j/ee59a6/32.png) [@james\_electriceng](https://forum.inductiveautomation.com/u/james_electriceng)\
**Post date:** [March 16, 2021, 3:04am UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/6 "2021-03-16T03:04:38Z")

</div>

I am experiencing the same issue. Im using 8.1.3. Did anyone find the solution to this problem?

---

<div class="post-metadata">

**Author:** ![wking](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/wking/32/21823_2.png) [@wking](https://forum.inductiveautomation.com/u/wking)\
**Post date:** [March 16, 2021, 2:50pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/7 "2021-03-16T14:50:12Z")

</div>

I’ve got a beffy server now and upgraded to 8.1

I was really struggling with this tho before I got that done.

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [April 7, 2021, 7:53pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/8 "2021-04-07T19:53:45Z")

</div>

We have the same problem on our system since upgrading to 8.1.3 from 8.0.15. Server piles up in about 3 days with hundreds or more of perspective worker threads. I can’t seem to isolate it to any particular project yet. Anyone figure out how to find the originating component or view of the threads? That would help immensely.

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [April 7, 2021, 7:54pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/9 "2021-04-07T19:54:22Z")

</div>

James have you figured your situation out?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 7, 2021, 8:01pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/10 "2021-04-07T20:01:53Z")

</div>

I think one thing all of these cases have had in common is that they are doing some kind of blocking script call inside a binding transform, which much like `runScript` is very much discouraged.

---

<div class="post-metadata">

**Author:** ![wking](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/wking/32/21823_2.png) [@wking](https://forum.inductiveautomation.com/u/wking)\
**Post date:** [April 7, 2021, 8:04pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/11 "2021-04-07T20:04:46Z")

</div>

I got a 32 core server and my problems went awya. But, I’ve never used runScript() and I’ve been very careful with time.sleep. Never inside a binding. Only in events

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [April 7, 2021, 8:07pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/12 "2021-04-07T20:07:16Z")

</div>

Thanks Kevin, I’m doing a bit of a sweep on all new additions added since the problem started. Hopefully this is a quick find.

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [April 8, 2021, 12:45am UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/13 "2021-04-08T00:45:52Z")

</div>

Kevin, thank you so much for the pointer there, we solved this problem. Recently a new view was created with a table and many columns rendered as views to show tag values, and they were all using tag.readBlocking in transforms. We’ve changed this to tag bindings with script transforms for the formatting and it’s all looking great now. Cheers!!

---

<div class="post-metadata">

**Author:** ![c-w-t](https://avatars.discourse-cdn.com/v4/letter/c/bbe5ce/32.png) [@c-w-t](https://forum.inductiveautomation.com/u/c-w-t)\
**Post date:** [April 9, 2021, 1:27pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/14 "2021-04-09T13:27:45Z")

</div>

Any chance if you are performing database queries in a binding transform you will see the same issue?

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 9, 2021, 1:30pm UTC](https://forum.inductiveautomation.com/t/8-0-16-upgrade-thousands-of-timed-waiting-threads-lower-performance-opc-ua-and-perspective/41100/15 "2021-04-09T13:30:03Z")

</div>

Sure, those are blocking network I/O as well.
