-
Notifications
You must be signed in to change notification settings - Fork 191
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
As a Developer I want to analyse the Security Server proxy performance to find bottlenecks in the current code #1360
Comments
Using niis/xroad-security-server-standalone:bionic-7.0.2 Main performance bottleneck lays in https://github.com/nordic-institute/X-Road/blob/develop/src/proxy/src/main/java/ee/ria/xroad/proxy/protocol/ProxyMessage.java There's an unused variable that was only used during REST POC implementation Currently every REST message body is dumped to disk using non-optimal way java.nio uses by default 8k buffer size
1k mesage body
10MB message body2 concurrent connections was the maximum that testing machine could handle without timeouts
Also for small messages it would be nice to have an option to store attachments in memory instead of disk. |
Hello @zpotoloom! Thank you for looking into this issue and proposing a solution. Your suggestion to make the buffer size configurable so that users can tune it based on their needs makes sense, as well as bypassing the disk altogether for smaller messages. Unfortunately, we will not be able to introduce this change for version 7.4.0 yet, but we will look into implementing the suggestion for version 7.5.0. |
We should investigate the current Security Server proxy implementation to see if there are any bottlenecks in the messaging that could be improved.
A suitable setup for the investigation is a client/test runner (e.g., Apache bench tool "ab"), 2 * Security Servers and a mock service:
Client/test runner → SS1 (ClientProxy) → SS2 (ServerProxy) → Mock service
The JIRA issue this was created from can be found here: https://nordic-institute.atlassian.net/browse/XRDDEV-1568
Acceptance criteria:
The text was updated successfully, but these errors were encountered: