找出瓶頸

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體

同時存取共用資源會產生瓶頸。 通常,每個軟體系統中都會有瓶頸存在,而且這是無法避免的。 但是,過量要求共用資源會讓回應時間變差,這時就必須找出問題並進行微調。

導致瓶頸的原因包括:

  • 需要額外或升級元件的資源不足。

  • 相同類型的資源,其工作負載分配不均 (例如,某個磁碟被獨占)。

  • 資源的功能有問題。

  • 資源的組態設定不正確。

分析瓶頸

各種事件的持續時間過長,是發生瓶頸的指標,這種情況便可進行微調。

例如:

  • 可能是其他元件防止負載到達這個元件,因此增加完成負載的時間。

  • 可能是網路壅塞使得用戶端的要求更為耗時。

在追蹤伺服器效能以找出瓶頸時,有下列五個主要區域需要監視。

可能瓶頸區 對伺服器的影響
記憶體使用量 如果配置到 Microsoft SQL Server 的記憶體或其可用記憶體不足,會使效能降低。 這時必須從磁碟讀取資料,而不是直接從資料快取讀取。 當需要分頁時,Microsoft Windows 作業系統需與磁碟交換資料,因此會進行過度的分頁動作。
CPU 使用率 CPU 使用率若長期偏高,表示 Transact-SQL 查詢需要進行微調,或需要升級 CPU。
磁碟輸入/輸出 (I/O) 可以微調 Transact-SQL 查詢,以減少不必要的 I/O;例如利用索引。
使用者連線 過多的使用者同時存取伺服器,會造成效能降低。
封鎖的鎖定 設計錯誤的應用程式會造成鎖定與阻礙同時發生,而導致回應時間變長,以及交易輸送速度變慢。

另請參閱

監視 CPU 使用量
監視磁碟使用量
監視記憶體使用量
SQL Server 的 General Statistics 物件
SQL Server 的 Locks 物件