YetAnotherForum
Welcome Guest Search | Active Topics | Log In | Register

Throughput issues PISDK and PiServer Options · View
loiselle
#1 Posted : Thursday, December 08, 2011 5:51:01 PM
Rank: Newbie
Groups: Member

Joined: 12/8/2011
Posts: 2
Location: Raleigh NC 27615
Hello there,

We want to increase our throughput performance issues from/to a Pi Server in our application that utilizes the PISDK. We ran a series of tests in our efforts to understanding throughput and performance issues using the PISDK.
PI SDK version --> 1.3.8.388 PiSever -- > 3.4.385.59

- Our application reads and writes internal data to and from Pi Servers over ethernet. Our application is notified of changes to the point values of Pi Server data using the 'eventpipe' system via a 'pointlist' collection structure. This works as expected, ie. we write a new value and are notified of the change through events.
-In a controlled environment , using an even mix of digital, float16, float32, float64, int16, int32 and Strings totaling 7000 points, having changing values; we can write about 70k points in 65 seconds. However, The system takes about 4 minutes to finish the process of notifying us of all the changed values that were written to the pi server via the event processing methods, this is the largest bottle neck for us.

We still need to find ways to increase writing and retrieval rates and are looking at some other options.

Could implementing the Pi Buffering system help us?

Any other suggestions for increasing bandwidth to/from Pi?

Regards, David
Sponsor  
 

OSIsoft vCampus is a subscription-based, online offering that consists of providing everything people need to develop applications on the PI System.
We invite you to take a "tour" of the OSIsoft Virtual Campus - also feel free to consult the FAQ  or contact OSIsoft vCampus for more details.
squatty
#2 Posted : Friday, December 09, 2011 8:47:27 AM
Rank: Advanced Member

Groups: Member

Joined: 4/7/2011
Posts: 137
Location: KZN, South Africa
I would highly recommend using pibufss: You will find this in your SDK help section.

The buffering process will take the number of events defined in MAXTRANSFEROBJS from the buffers and send the events to the server with a pause of SENDRATE after each MAXTRANSFEROBJS. If the default configuration is used, a maximum of 5000 events per second will be sent to the PI Server (500 events times 10 per second, but slightly less because of network transfer time and moving the data from buffers to the TCP/IP port). If you typically have much less data throughput, this may be used to limit the rate at which any one node adds data to the PI Server. If a higher throughput rate is needed, either increase MAXTRANSFEROBJS or decrease SENDRATE
loiselle
#3 Posted : Friday, December 09, 2011 2:06:34 PM
Rank: Newbie
Groups: Member

Joined: 12/8/2011
Posts: 2
Location: Raleigh NC 27615
Thank you 'squatty' for your help. I need to process the information and read-up on buffering then test. I will give feedback later.
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.