8 Replies Latest reply on Jan 17, 2018 10:53 PM by afink

    Event Queue are getting filled and growing to large numbers when marking data as questionable from an AF SDK application

    hmokdad

      Hi,

      Based on some business requirement, we build an AF SDK application that subscribes to PI Data Pipes(Archive Data Only) to monitor and apply a certain logic on each and every value getting into the Archive Subsystem. Values that do not pass the logic must be marked as questionable, the only way to do this as informed by OSISoft in a different thread: https://pisquare.osisoft.com/thread/31662-how-to-mark-a-data-value-as-questionable-without-replacing-the-original-value is to send a replacement value. So we did this and the application worked very fine on our test servers. But when the application was moved to a production PI Server, with multiple clients requesting Archived Data, the PI Server would be fine for the first two weeks, after that, we notice that the event queues are getting bigger, knowing that they should be around zero in normal operation. After about 4 weeks, we will have like around 200 million events in the event queues.

       

      Our first thought was that replacing values in the Archive causes an overhead over the Archive subsystem, causing it to be slower in processing values coming from the Event Queues. We have around 130 K tags in our PI Servers(both test and production), with same data flowing to both (From production to Test using PI-to-PI interface). On an average, tags are updated every 30 seconds, with some every 10. Number of Questionable values is around 3000 - 5000 value every 5 seconds. The difference between both is that our Test PI Server doesn't have clients reading data.

       

      Below are the Tuning Parameters on our Production Server if they can help in debugging this issue:

       

      Name

      Value

      Default

      Min

      Max

      PIarchss_ThreadCount

      255

      8

      1

      255

      Archive_FlushThreadCount

      128

      4

      1

      128

      PIbasess_ThreadCount

      255

      4

      1

      255

      PIsnapss_ThreadCount

      255

      6

      1

      255

      PIupdmgr_ThreadCount

      255

      4

      1

      255