OPCFoundation / UA-.NETStandard

OPC Unified Architecture .NET Standard
Other
1.97k stars 950 forks source link

Optimizing OPC UA Server Performance: Addressing Delay in Real-Time Updates and Alarm Generation #2787

Open kais123456789 opened 1 month ago

kais123456789 commented 1 month ago

Type of issue

Current Behavior

I'm utilizing the OPC UA bundle to set up an OPC UA server that supports both Data Access (DA) and Alarms & Events (AE). I'm reading 5,000 tags every second and exposing them through my OPC UA server sample. Additionally, I've created 5,000 alarms per second to stress-test the bundle. However, I noticed this configuration leads to memory leaks and significant delays in real-time updates and alarm generation. After troubleshooting, I discovered that the method public override void ReportEvent(ISystemContext context, IFilterTarget e) takes over 5 seconds to complete. As a result, we experience delays in both real-time updates and alarm generation. Are there any methods, configurations, or code refactoring approaches that could help resolve this delay?

Expected Behavior

No response

Steps To Reproduce

No response

Environment

- OS:
- Environment:
- Runtime:
- Nuget Version:
- Component:
- Server:
- Client:

Anything else?

No response

Archie-Miller commented 1 month ago

Currently have ConsoleReferenceClient receiving 9000 Events per second and 5000 Data notifications per second without seeing the issue described.

More details would be helpful

Environment details as requested in the Issue Version Numbers Server Configuration file Subscription count, queue sizes, sampling and publishing intervals

Thank you