AnsweredAssumed Answered

How to setup a PI Server to accept large amount of snapshot event values?

Question asked by szymkowicz on Aug 2, 2018
Latest reply on Aug 7, 2018 by mheere

I am looking for a baseline tuning for a PI Server (2017 R2 or later if it helps) in order to benchmark a PI AF Client (latest 2.10x) which generate in order snapshot value at 1 event value / s / pi point for 1 Million pi point type float32 with no compression.

PI Server on new hardware Server grade Fast processor, RAM and a lot of I/Os with high speed SSD, Fast/low latency network

Each PI Server(s) got its own dedicated server and PI AF got its own dedicated server.

 

PI AF Client app on new hardware Server grade Fast processor, RAM and a lot of I/Os with high speed SSD, Fast/low latency network

PI Server 2017 R2 install with default parameters except Update manager > Max Update Queue value: 20 000 000 Max: 100 000 000 and total update queue value 40 000 000 max 1 000 000 000

Test1: PI AF Client app PIbufss to fan out to send the snapshot events to a 2 nodes PI Collective w/ 2017R2, but it seems to have contention/queuing after 250K event/s on an average windows of 5s

Test2: PI AF Client app without pibufss so no fan out the snapshot events to a single node in a PI Collective w/ 2017R2, but it seems to have contention/queuing after 300K event/s on an average windows of 5s

The PI AF Client app has been optimized to reduce overhead, API calls, memory management, latency GCC and multithread/core to spread the generation and API calls

Test3: PI AF Client app on multiple servers -> much worse than Test1 and Test2

 

So far the documentation I found can not define rules to tune/setup a PI Server for some simple requirements such as a monotic snapshot event flow.

Outcomes