On Windows, we are experiencing significant slowdowns for some users due to the methods used to set/get rights via the Windows API on Windows Server. This issue stems from the API making network calls to the Active Directory manager with each request.
Details
Identified Issue
The slowdown is caused by the Windows API functions making network calls to the Active Directory manager.
Performance Measurements
Windows 11 without Active Directory: 1ms < response time < 4ms
Windows 11 with Active Directory: 70ms < response time < 110ms
Current Workaround
The current solution involves instructing clients to set an environment variable to bypass the recommended Windows API methods, instead using standard methods. However, the standard methods rely solely on the read-only flag, which often does not accurately reflect the actual rights applied to the file/folder. Despite this limitation, it remains the better option given the constraints.
Proposed Improvement
This pull request aims to eliminate the need for manual environment variable configuration. The application will automatically select the most appropriate method for rights management, improving overall performance and user experience.
Summary
On Windows, we are experiencing significant slowdowns for some users due to the methods used to set/get rights via the Windows API on Windows Server. This issue stems from the API making network calls to the Active Directory manager with each request.
Details
Identified Issue
The slowdown is caused by the Windows API functions making network calls to the Active Directory manager.
Performance Measurements
Current Workaround
The current solution involves instructing clients to set an environment variable to bypass the recommended Windows API methods, instead using standard methods. However, the standard methods rely solely on the read-only flag, which often does not accurately reflect the actual rights applied to the file/folder. Despite this limitation, it remains the better option given the constraints.
Proposed Improvement
This pull request aims to eliminate the need for manual environment variable configuration. The application will automatically select the most appropriate method for rights management, improving overall performance and user experience.