Skip to content

Use Windows auth for local perf runs - #4608

Open
mdaigle wants to merge 1 commit into
dotnet:mainfrom
mdaigle:mdaigle-dev/automation/windows-perf-timeouts
Open

Use Windows auth for local perf runs#4608
mdaigle wants to merge 1 commit into
dotnet:mainfrom
mdaigle:mdaigle-dev/automation/windows-perf-timeouts

Conversation

@mdaigle

@mdaigle mdaigle commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

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:

Copilot AI balanced review requested due to automatic review settings August 27, 2026 20:41
@mdaigle
mdaigle requested a review from a team as a code owner August 27, 2026 20:41
@github-project-automation github-project-automation Bot moved this to To triage in SqlClient Board Aug 27, 2026
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
mdaigle force-pushed the mdaigle-dev/automation/windows-perf-timeouts branch from e62efc4 to 06b14e2 Compare August 27, 2026 20:45
@mdaigle mdaigle changed the title Fix Windows perf runs on SQL Server 2025 Use Windows auth for local perf runs Aug 27, 2026
@mdaigle
mdaigle changed the base branch from dev/mdaigle/perf-switch-experiment-pipeline to main August 27, 2026 20:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot AI review requested due to automatic review settings August 27, 2026 20:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: To triage

Development

Successfully merging this pull request may close these issues.

2 participants