Skip to content
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

Update performance-guidance.md #9962

Open
wants to merge 4 commits into
base: live
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions azure-sql/database/performance-guidance.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ titleSuffix: Azure SQL Database
description: Learn about tuning database applications and databases for performance in Azure SQL Database.
author: WilliamDAssafMSFT
ms.author: wiassaf
ms.reviewer: wiassaf, mathoma
ms.date: 12/05/2024
ms.reviewer: mathoma
ms.date: 12/10/2024
ms.service: azure-sql-database
ms.subservice: performance
ms.topic: conceptual
Expand Down Expand Up @@ -261,9 +261,15 @@ Connection pooling can improve throughput, reduce latency, and enhance the overa
- [JDBC connection pooling](/sql/connect/jdbc/using-connection-pooling?view=azuresqldb-current&preserve-view=true)
- [PHP connection pooling](/sql/connect/php/connection-pooling-microsoft-drivers-for-php-for-sql-server?view=azuresqldb-current&preserve-view=true)

- Cloud applications should implement [retry logic](develop-overview.md#resiliency) to handle transient connectivity failures gracefully. Learn more about how to design [retry logic for transient errors](troubleshoot-common-connectivity-issues.md#retry-logic-for-transient-errors).
- Cloud applications should implement [retry logic](develop-overview.md#resiliency) to handle transient connectivity failures gracefully. Learn more about how to design [retry logic for transient errors](troubleshoot-common-connectivity-issues.md#retry-logic-for-transient-errors).

- Token-based authentication mechanisms, such as Microsoft Entra ID authentication, can disrupt connection pooling when tokens expire, invalidating pooled connections and preventing their reuse. To address this:
- **Implement proactive token renewal:** [Refresh Microsoft Entra ID tokens](/entra/identity-platform/refresh-tokens) to renew access tokens *before* expiration. This minimizes interruptions to connection reuse caused by invalid tokens.
- **Adjust token lifetimes:** [Configure token expiration policies in Microsoft Entra ID](/entra/identity/conditional-access/howto-conditional-access-session-lifetime) to accommodate the expected duration of connections in your application.

- [Monitor Azure SQL Database](monitoring-sql-database-azure-monitor.md) connection performance and resource usage to identify bottlenecks, such as excessive idle connections or insufficient pool limits, and adjust configurations accordingly. Use [Microsoft Entra ID logs](/entra/identity/monitoring-health/concept-sign-ins) to track token expiration errors and ensure token lifetimes are appropriately configured. Consider using [Database Watcher](../database-watcher-overview.md) or [Azure Monitor](monitoring-metrics-alerts.md) where applicable.


- [Monitor Azure SQL Database](monitoring-sql-database-azure-monitor.md) connection performance and resource usage to identify bottlenecks, such as excessive idle connections or insufficient pool limits, and adjust configurations accordingly. Consider using [database watcher](../database-watcher-overview.md) or [Azure Monitor](monitoring-metrics-alerts.md).

## Best practices for very large database architectures in Azure SQL Database

Expand Down