# Is anyone else having crippling issues after adding Perspective to projects?

**URL:** <https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306>\
**Category:** Ignition\
**Tags:** ignition80, perspective\
**Created:** [March 10, 2021, 1:08pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306 "2021-03-10T13:08:09Z")\
**Posts on this page:** 20\
**Page:** 1

<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:** [March 10, 2021, 1:08pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/1 "2021-03-10T13:08:09Z")

</div>

Since we rolled out v8.1.0 and Perspective to one of our largest clients (280k tags, 70 Vision clients, + now 8 Perspective clients running inside of Vision’s Web Browser component), we’ve had non-stop issues with extremely high server CPU usage (90-100%) and incredibly slow clients (due to server CPU). We’ve been in contact with support, however have yet to find a reliable cause and solution. We removed all Alarm Status Table components from the Perspective Views as these seemed to be causing excessive and persistent perspective-worker threads (we had 1050 threads for 8 perspective session at one stage!!) Removing these has reduced this number to ~50-100 and we thought it had identified the issue as we were consistently averaging ~25% (min 16 max ~45) for 3 days but it’s recently increased to 40-50%. Unsure the reason.

Anyway, is anyone else experiencing any of these issues? Or is it just me…? Did you resolve them?

---

<div class="post-metadata">

**Author:** ![bkarabinchak.psi](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/bkarabinchak.psi/32/83567_2.png) [@bkarabinchak.psi](https://forum.inductiveautomation.com/u/bkarabinchak.psi)\
**Post date:** [March 10, 2021, 1:52pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/2 "2021-03-10T13:52:32Z")

</div>

I think @paul-griffith has said that that the perspective clients actually scale much better than vision clients. You didn’t have any issues prior to perspective, performance wise?

The issue as I see it as, as nice as it is that you can develop and push from Ignition for both Vision and Perspective clients (and don’t get me wrong, it is very nice), it does come at a cost - the Ignition server is acting as both backend and frontend servers (for perspective at least, I think with Vision its more of a traditional Gateway=Backend, Vision Client=Frontend that handles itself).

Do you have a lot of polling, or timer scripts or anything similar on Perspective? Remember, all scripts etc on Perspective are run on the gateway, not the browser/client. So having a very ineffecient script on some view, x8, now you’re gateway is trying to handle all of that. Now imagine if that’s being run on a timer. Do you have anything that might meet that criteria?

I wish I could help you more. I have my own issues with perspective. I really love Ignition and think Perspective will get there in time, but atm, if I was asked to create a web front end to be used in a professional setting, I would set up a Web Dev module to create a backend Ignition API and create a separate front end server, to help take the load off of the gateway.

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 10, 2021, 3:34pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/3 "2021-03-10T15:34:50Z")

</div>

`system.util.threadDump` on the gateway (attempts) to capture per-thread CPU information; you could set that up to automatically trigger every few minutes when CPU load gets high and log those somewhere. It would be interesting to see the culprits in those threads.

---

<div class="post-metadata">

**Author:** ![mazeyrat](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/mazeyrat/32/10955_2.png) [@mazeyrat](https://forum.inductiveautomation.com/u/mazeyrat)\
**Post date:** [March 10, 2021, 4:06pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/4 "2021-03-10T16:06:00Z")

</div>

I experimented that lots of alarms, 10K for example with a too high pooling rate for alarms status or a to large range for alarm journal can cause vision client freeze or gateway CPU very High usage for perspective client.

IMO, too many alarms is not a common use case in production but can sometimes occur at startup or in other case. Displaying too many alarms has no interest but can lead to client or gateway very high CPU load.

@paul-griffith  
IMO, a good solution for Ignition stability would be to be able to add a **LIMIT** number for the alarm displayed in alarm status and alarm journal in vision and perspective, with a flag to indicate that alarms results had been truncated.

---

<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:** [March 10, 2021, 9:48pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/5 "2021-03-10T21:48:01Z")

</div>

We have lots of thread dumps 🙂

These are the latest:

[Ignition-AUWBLS016\_thread\_dump20210311-062936.txt](https://forum.inductiveautomation.com/uploads/short-url/e2sykpgMIjxCahE0eOX0gaQzPSu.txt) (351.8 KB) [Ignition-AUWBLS016\_thread\_dump20210311-063022.txt](https://forum.inductiveautomation.com/uploads/short-url/KbLBvaHOcEQRQ9vx0dwm1pMqr1.txt) (460.8 KB) [Ignition-AUWBLS016\_thread\_dump20210311-063056.txt](https://forum.inductiveautomation.com/uploads/short-url/q4lPooc4EW4ic2SBMhApmhtMjN.txt) (487.8 KB) [Ignition-AUWBLS016\_thread\_dump20210311-063137.txt](https://forum.inductiveautomation.com/uploads/short-url/gXq4tFUjf38G5CarzHgVophxWEv.txt) (500.6 KB)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 10, 2021, 9:49pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/6 "2021-03-10T21:49:40Z")

</div>

> [@nminchin](#):
>
> We have lots of thread dumps 🙂

Yeah, but these don't have the CPU information on them - that's probably the most useful diagnostic axis. It's impossible to say for sure what's most "expensive" based on just the stack trace.

---

<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:** [March 10, 2021, 9:50pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/7 "2021-03-10T21:50:08Z")

</div>

How do I get these? (thread dumps have been the only logs requested by support)

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [March 10, 2021, 9:53pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/8 "2021-03-10T21:53:34Z")

</div>

Thread dumps captured via `system.util.threadDump()` will have CPU information. I have no idea why the other output formats don’t, but it is on our agenda to fix.

---

<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:** [March 10, 2021, 9:54pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/9 "2021-03-10T21:54:00Z")

</div>

Awesome, i’ll get onto it ASAP. Cheers! This is causing massive havoc!!

---

<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:** [March 10, 2021, 10:06pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/10 "2021-03-10T22:06:07Z")

</div>

Wanna try something a little different?

Add this additional parameter to ignition.conf and then restart. After 5 minutes get the `ignition.jfr` file that got created (in wherever `$IGNITION` is I think) and upload/DM it to me.

```auto
-XX:StartFlightRecording=duration=300s,settings=profile,filename=ignition.jfr

```

---

<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:** [March 10, 2021, 10:07pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/11 "2021-03-10T22:07:15Z")

</div>

Will do! Cheers, will just need to coordinate with site but shouldn’t take long.

---

<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:** [March 10, 2021, 10:10pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/12 "2021-03-10T22:10:21Z")

</div>

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

Look good?

---

<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:** [March 10, 2021, 10:10pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/13 "2021-03-10T22:10:41Z")

</div>

I think you’ll need to be sure and wait the full 5 minutes. If you copy that file early I may not be able to read it.

---

<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:** [March 10, 2021, 10:11pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/14 "2021-03-10T22:11:10Z")

</div>

Also, do I need to remove that after and reboot? or ok to leave?

---

<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:** [March 10, 2021, 10:12pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/15 "2021-03-10T22:12:12Z")

</div>

It’s supposed to stop recording after 5 minutes (300s in the line), but… this is somewhat new to me. Can’t verify that there is no performance hit after it stops recording.

---

<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:** [March 10, 2021, 10:13pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/16 "2021-03-10T22:13:08Z")

</div>

and hopefully 5 minutes is enough to get past startup and into your application / Perspective sessions bogging everything down! Otherwise we might need to extend that.

---

<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:** [March 10, 2021, 10:16pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/17 "2021-03-10T22:16:47Z")

</div>

One this to note, when we started seeing the CPU average go up again a couple days ago to ~50%, we added another ignition gateway to the gateway network as we wanted to use EAM with it to synch up changes. We originally had no network gateway setup prior to that and no EAM module installed. Using trial EAM on main GW and licensed edge EAM on the other (we have a quote and in middle of purchasing EAM for main GW). I disabled the GW network an hour ago to see if any change.

---

<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:** [March 10, 2021, 10:36pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/18 "2021-03-10T22:36:45Z")

</div>

I set for 400s just in case. Ignition rebooted and counting. ~7mins and i’ll get the log to you, cheers!

---

<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:** [March 10, 2021, 10:42pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/19 "2021-03-10T22:42:08Z")

</div>

@paul-griffith  
Also, here’s a thread dump using the scripting command. I don’t see any CPU usage in there unless I’m not reading it right 🤔[thread\_dump\_20210311\_0909.txt](https://forum.inductiveautomation.com/uploads/short-url/k6PDE7iN6i6NhmpmAMpLLdxGSpk.txt) (39.7 KB)

Edit: scratch that, it’s showing up now

---

<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:** [March 10, 2021, 11:05pm UTC](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306/20 "2021-03-10T23:05:53Z")

</div>

Well that was an interesting experiment but too distorted by all the things that happen when you startup a real gateway… 😿

You do seem to have a lot of alarm status query stuff happening all the time though. Those showed up in the thread dumps too. But I’m not sure if that’s related to the growth of Perspective worker threads and overall CPU usage growth that came with adding Perspective…

[Next page](https://forum.inductiveautomation.com/t/is-anyone-else-having-crippling-issues-after-adding-perspective-to-projects/44306.md?page=2)
