Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mirror server slow processing large struct arrays #75

Open
echandler-anl opened this issue Feb 14, 2022 · 0 comments
Open

Mirror server slow processing large struct arrays #75

echandler-anl opened this issue Feb 14, 2022 · 0 comments

Comments

@echandler-anl
Copy link

Problem:
PV servers has difficultly keeping up reading PV objects with very large struct arrays. The same issue appears with both mirror server and p2p.
Steps to reproduce:

  1. IOC is writing PV array with 27000 struct elements to a PV channel at 10hz
  2. Run mirror server mapped to PV channel to a second PV channel
  3. Run pvapy client to read data from the second PV channel

The pvapy client receives the data at 4Hz. The TCP-rx thread in the mirror server is maxed out and the perf profile shows that it is spending most time creating and deleting struct arrays (see graph below):

image

Both the mirror server and pv client can be optimized by caching the PV object structure after the connection is initialized.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant