Use Windows auth for local perf runs - #4608
Open
mdaigle wants to merge 1 commit into
Open
Conversation
Avoid SQL Server 2025 PBKDF2 login overhead for local Windows benchmarks while preserving SQL authentication for external endpoints. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
mdaigle
force-pushed
the
mdaigle-dev/automation/windows-perf-timeouts
branch
from
August 27, 2026 20:45
e62efc4 to
06b14e2
Compare
mdaigle
changed the base branch from
dev/mdaigle/perf-switch-experiment-pipeline
to
main
August 27, 2026 20:45
Contributor
There was a problem hiding this comment.
Pull request overview
Updates the Windows performance harness to avoid SQL Server 2025 PBKDF2 overhead during local connection benchmarks.
Changes:
- Uses integrated authentication for local SQL Server endpoints.
- Retains SQL authentication for external endpoints.
- Documents the authentication strategy and clarifies probe diagnostics.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
run-perf-tests.ps1 |
Detects local SQL endpoints and configures the benchmark identity. |
interleave_perf.py |
Clarifies connection-probe documentation. |
README.md |
Documents SQL Server 2025 physical-open behavior and mitigation. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Windows perf runs against the local SQL Server 2025 instance spend about 158 ms on every SQL-authenticated physical open because SQL Server 2025 uses PBKDF2 password verification. This causes connection benchmarks that disable or clear pooling to time out.
When the injected SQL endpoint resolves to a local interface, the Windows harness now configures the ephemeral VM identity in the perf database and uses integrated authentication over TCP loopback. External SQL endpoints continue to use the injected address and SQL authentication, preserving support for future Azure SQL runs. The benchmark matrix and connection-pool implementation are unchanged.
This is an internal perf-harness change with no public API impact. The related perf documentation explains the SQL Server 2025 behavior and authentication choice.
Issues
N/A
Testing
https://sqlclientdrivers.visualstudio.com/ADO.Net/_build/results?buildId=170482&view=results
Full Windows perf run completed all 17 unchanged benchmark units with zero skips or timeouts in 44.3 minutes.
Physical-open p50 was 2.51 ms with native SNI and 3.70 ms with managed SNI.
PowerShell parsing and local/external endpoint classification passed locally.
Tests added or updated (existing full benchmark matrix exercised)
Public API changes documented (N/A, no public API changes)
Verified against customer repro (N/A, internal perf infrastructure)
Ensure no breaking changes introduced
Guidelines
Please review the contribution guidelines before submitting a pull request: