I have a PI server with about 375,000 points and an application that monitors about 20,000 of them using exceptions. When an exception occcurs, the app reads the changed value and uses it to determine if a fault has occured. If it is a fault, the app then reads archived values of another point in order to get the sequence of a series of fault codes. The problem is that the returned archived sequence is sometimes missing a few of the most recent values. If I wait awhile then all the values eventually make it into the archive but that is not acceptable since it is the most recent values that I am interested in.
The fault code points have compression settings and I'm thinking that the most recent data is still being queued before archiving and has not yet reached the archive. The time stamps on the fault code burst are also very close together for each point. Is there a way to read a series of points that have not have made it into the archive? Would turning compression off eliminate the problem? The data values are integer codes so compression may not be necessary since we would like to archive all of them.
Some PI-server stats: 54% compression ratio, about 3000 queued events/sec, 100 to 200 point flushes/sec, no queue overflows.