找出瓶頸

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

導致瓶頸的原因包括:

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

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

  • 資源的功能有問題。

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

分析瓶頸

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

例如:

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

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

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

可能瓶頸區

對伺服器的影響

記憶體使用狀況

如果配置到 Microsoft SQL Server 的記憶體或其可用記憶體不足,會使效能降低。這時必須從磁碟讀取資料,而不是直接從資料快取讀取。當需要分頁時,Microsoft Windows 作業系統需與磁碟交換資料,因此會進行過度的分頁動作。

CPU 使用情形

CPU 使用率若長期偏高,表示 Transact-SQL 查詢需要進行微調,或需要升級 CPU。

磁碟輸入/輸出 (I/O)

可以微調 Transact-SQL 查詢,以減少不必要的 I/O;例如利用索引。

使用者連線

過多的使用者同時存取伺服器,會造成效能降低。

封鎖的鎖定

設計錯誤的應用程式會造成鎖定與阻礙同時發生,而導致回應時間變長,以及交易輸送速度變慢。

如需微調 SQL 查詢的詳細資訊,請參閱<查詢效能>與<微調實體資料庫設計>。