SQL Server 效能對於應用程式穩定性和使用者保留而言至關重要。資料庫可能是任何應用程式的瓶頸,因此生產環境需要即時分析與效能監控。透過監控和持續優化,您的應用程式在效能方面保持競爭力,您的 SQL Server 資料庫將更有效率地運行。
SQL Server 效能如何運作
SQL Server 效能可測量資料庫接收、處理及傳回查詢資料的速度。SQL Server 能在幾毫秒內還原大型資料集。資料庫管理員必須監控效能,以確保前端應用程式不會因為伺服器硬體、配置或儲存容量不足而遭遇瓶頸。
表面上的 SQL Server 效能取決於硬體。硬體在效能上扮演了重要角色,但配置或查詢開發不佳也會影響伺服器速度。監控硬體效能有助於資料庫維持最高效能。管理員還必須審查查詢,以確保它們已針對最佳效能進行優化。
影響 SQL Server 效能的關鍵因素
資料庫配置通常是 SQL Server 效能不佳的主要問題。更具體地說,索引配置通常配置不佳,導致效能下降。表格索引排序資料的方式,讓資料庫引擎能更快速地根據查詢找出並傳回資料。小型資料庫可能不會感受到索引不良的影響,但單一資料集中擁有 TB 資料和數百萬筆記錄的資料庫,將會發現效能問題。
硬體,包括儲存設備,也是關鍵因素。儲存必須夠快,能夠擷取輸入和輸出資料,CPU 必須夠快,才能處理資料請求。快取和程式執行是在記憶體中完成,因此伺服器必須有足夠的記憶體來支援資料庫。管理員還可以監控這些因素,以便在硬體過期時升級硬體。
為 SQL Server 效能選擇合適的基礎架構
最佳效能可來自地端或雲端基礎架構。混合環境也常見於企業資料庫。舉例來說,您可以將歸檔和熱備份儲存在雲端,而具備高端基礎架構的就地部署資料庫則支援生產查詢。另一個例子是商業環境,在雲端處理公共查詢,內部查詢在就地部署處理。
儲存需求經常對成長中的企業飆升。他們必須分配足夠的儲存空間和未來的成長,以支援應用程式。企業組織可以運用FlashArray 來支援效能與延遲相關的應用程式,如資料庫。Pure Cloud Block StoreCOR 是就地部署的雲端替代方案。從 VMware 移植的企業可以選擇 Portworx® 整合。
常見的效能問題
伺服器資源不足是第一個常見的 SQL Server 效能問題。如果伺服器速度慢,管理員應該先檢查資源使用情況。檢查 CPU 使用量、RAM 使用量飽和度或磁碟 I/O 錯誤是否飆升。雲端和本地作業系統都有使用工具,以識別資源使用情況。
索引是另一個常見的問題。所有表格都應在查詢 WHERE 子句中常用的表格欄上顯示主鍵和索引。常用表格欄上的正確索引可將查詢時間從數分鐘縮短為毫秒。
優化 SQL Server 效能的技術
所有傳送至生產 SQL Server 資料庫的查詢皆應經過審查,以達成最佳化與效能。SQL Server 有自己的工具,可辨識緩慢的查詢,但查詢應僅傳回前端功能所需的欄、正確使用 JOIN 陳述式,以及 JOIN 和 WHERE 陳述式中常用的索引表欄。CURSOR 查詢應謹慎使用,且僅限必要時使用。避免動態查詢,並使用 SQL 而非字串中儲存的程序。
管理員應使用 Microsoft 的 SQL Server 工具或其偏好的工具來監控 SQL Server 的效能。應監控硬體,以確保伺服器有足夠的記憶體和 CPU 電源來處理查詢,且儲存空間應足以容納額外資料,以支援不斷成長的業務。雲端供應商擁有自己的工具,可協助管理員監控基礎架構。
效能監控與基礎架構工具
Microsoft 提供 SQL Server 多種監控工具。在 SQL Server Management Studio 中,管理員可以看到效能儀表板。Database Engine Tuning Advisor 可協助管理員優化儲存的程序。系統監視器可用於本機伺服器或遠端伺服器,以監控硬體的使用和活動。
第三方雲端供應商有自己的監控工具。舉例來說,Pure Storage 擁有自己的監控工具與 SQL Server 支援。您決定使用的雲端工具將取決於您使用的服務。當基礎架構資源不足時,雲端工具會向管理員發送警示,但管理員可能會選擇使用 Microsoft SQL Server 監控工具進行優化。最佳策略是嘗試工具,以找到最適合您業務需求的工具。
結論
為了讓您的應用程式維持在最佳效能,監控資料庫是否有瓶頸可確保管理員能採取主動步驟進行最佳化。不僅應該監控資料庫表格和查詢,還應該監控硬體,以避免基礎架構故障造成系統當機。雖然 Microsoft 提供 SQL Server 監控工具,但 Pure Storage 也能協助管理員跟上技術堆疊的腳步。