AnsweredAssumed Answered

What is the best way to collect data for 25k+ elements?

Question asked by SvenBatalla on Sep 30, 2015
Latest reply on Nov 16, 2016 by skwan

In other posts, I have posed various questions regarding how to collect certain bits of information from AF, create and perform calculations, and do all of this in a highly performing manner.  I've browsed some very helpful examples (e.g. Search Example, Loading Partial Element Hierarchy, etc.).  But in the end, I have not met my goal for performance and am to the point where I feel like I need to take another strategy.  So I'm opening the floor in hopes to get some good ideas.


The application I would like to run has the following goals:

  • Retrieving a list of all elements in a given PI AF database that derive from a known template (25k+ elements).
  • Retrieving snapshot data from PI based on up to 5 attributes associated to each element (125k+ tags).
  • Requesting up to 3 FilteredSummaries calls per element (75k+ calcs).
  • Doing all of the above in less than 2min.


I can tell you that I've done this in PI and PI AF 2012 and got the performance to about 3-4min at best.  I recently did an upgrade to PI and PI AF 2015 and the performance went to ~15min.  There may be a number of reasons for that, so I'm not suggesting 2015 is slower, but based on some other metrics, I don't anticipate it would have made any difference to the performance I had with 2012.


So the ultimate question is:  what is the optimal way for retrieving a large number of elements, a large number of tags (and values), and performing a large number of calculations.  I am using C#.NET, but am open to other possibilities that aren't VB).


Many thanks ahead of time.