共用方式為


效能效率取捨

符合其效能目標的工作負載沒有過度布建是有效率的。 效能效率的目標是要提供足夠的供應專案,隨時處理需求。 效能效率的關鍵策略包括適當地使用程式代碼優化、設計模式、容量規劃和調整。 清除效能目標,並測試此要素。

在交涉工作負載的效能目標和設計工作負載以提升效能效率的過程中,請務必注意 效能效率設計原則效能效率設計檢查清單中的 建議,可能會影響其他要素的優化目標。 某些效能效率決策可能會讓某些要素受益,但構成對其他人的取捨。 本文列出在設計工作負載架構和作業以提升效能時,工作負載小組可能會遇到的範例取捨。

可靠性的效能效率取捨

取捨:減少複寫和增加密度。 可靠性的基礎是使用復寫來確保復原能力,並限制故障的彈射半徑。

  • 工作負載,可藉由延遲調整,直到最後一個負責的時間非常符合需求,但容易受到未預期的節點失敗和調整延遲的影響,來達到效率。

  • 合併工作負載資源可以使用多餘的容量並提升效率。 不過,它會增加共置元件或應用程式平臺中故障的快射半徑。

  • 相應縮小或相應減少以將剩餘容量降到最低,可能會讓工作負載在使用量尖峰期間過度布建,這會導致服務因供應不足而中斷。

取捨:提高複雜度。 可靠性會優先於簡單性。

  • 使用自動調整來平衡工作負載供應與需求之間的變化,會導致工作負載拓撲的變化,並新增必須正確運作的元件,讓系統能夠可靠。 自動調整會導致觸發更多應用程式生命週期事件,例如啟動和停止。

  • 數據分割和分區化有助於避免大型或經常存取數據集的效能問題。 不過,這些模式的實作會增加複雜性,因為 (最終) 一致性必須在其他資源之間維護。

  • 將優化存取模式的數據反正規化可改善效能,但會導致複雜度,因為需要保持同步處理數據的多個表示法。

  • 以效能為中心的雲端設計模式有時需要引進其他元件。 使用這些元件會增加工作負載的介面區。 接著,元件本身必須可靠,才能讓整個工作負載保持可靠。 範例包括:

    • 用於負載撫平的訊息總線,引進重要的具狀態元件。
    • 自動調整複本的負載平衡器,需要可靠的作業和複本登記。
    • 將數據卸除至快取,這需要可靠的快取失效方法。

取捨:測試及觀察使用中的環境。 避免不必要的生產系統使用是可靠性的自我保留方法。

  • 作用中環境中的效能測試,例如使用綜合交易,可能會因為測試動作或組態而造成故障。

  • 工作負載應該使用應用程式效能監視 (APM) 系統進行檢測,讓小組能夠從作用中的環境學習。 APM 工具是在應用程式程式代碼或裝載環境中安裝及設定。 不當使用、超過限制或工具設定錯誤,可能會危害其功能和維護,這可能會破壞可靠性。

使用安全性的效能效率取捨

取捨:減少安全性控制。 安全性控制是跨多層建立的,有時會重複,以提供深度防禦。

其中一個效能優化策略是移除或略過造成流程延遲的元件或進程,特別是當處理時間不合理時。 不過,此策略可能會危害安全性,而且應該伴隨徹底的風險分析。 請思考一下下列範例:

  • 拿掉傳輸中或待用加密以改善傳送速率,會將數據公開至潛在的完整性或機密性缺口。

  • 拿掉或減少安全性掃描或檢查工具以減少處理時間,可能會危害這些工具所保護的機密性、完整性或可用性。

  • 減少安全性修補的頻率以限制效能影響,可能會讓工作負載更容易遭受新興威脅。

  • 從網路流程移除防火牆規則,以改善網路等待時間,可能會允許不想要的通訊。

  • 將數據驗證降至最低,以加快數據處理速度可能會危害數據完整性,特別是輸入為惡意時。

  • 例如,在初始化向量上 (IV) 使用較少的 Entropy,會更有效率,但讓加密更容易破解。

取捨:增加的工作負載介面區。 安全性會優先處理縮減且包含的介面區,以將攻擊向量降到最低,並減少安全性控制的管理。

以效能為中心的雲端設計模式有時需要引進其他元件。 這些元件會增加工作負載的介面區。 新的元件必須受到保護,可能以系統尚未使用的方式保護,而且通常會增加合規性範圍。 請考慮這些常用的元件:

  • 用於負載撫平的訊息總線

  • 自動調整複本的負載平衡器

  • 將數據卸除至快取、應用程式傳遞網路或內容傳遞網路

  • 將處理卸除至背景作業或甚至是客戶端計算

取捨:移除分割。 安全性要素會優先處理強式分割,以啟用精細的安全性控制,並減少快射半徑。

共用資源是改善效率的方法。 它會增加密度,以將容量使用量優化。 範例包括多租使用者案例,或在通用應用程式平臺上的架構中結合不同的應用程式。 增加的密度可能會導致下列安全性考慮:

  • 提高未經授權的橫向移動風險,從一個租使用者移到另一個租使用者。

  • 共用工作負載身分識別,違反最低許可權原則,並遮蔽存取記錄中的個別稽核線索。

  • 周邊安全性控制,例如網路規則,減少以涵蓋所有共置元件,讓個別元件存取權比必要還要多。

  • 應用程式平臺主機或個別元件因為較大的快射半徑而遭到入侵。 增加的原因是更容易存取共置的元件。

  • 由於共用主機,共置不同的元件會導致範圍中的更多元件符合規範。

成本優化的效能效率取捨

取捨:太多需求供應。 成本優化和效能效率都會優先提供足夠的供應專案來提供需求。

  • 當小組嘗試降低工作負載中的效能問題時,過度布建是一項風險。 過度布建的一些常見原因包括:

    • 初始容量規劃錯誤,因為小組只著重於尖峰負載估計,而忽略工作負載設計中尖峰平滑的策略。
    • 在事件回應的疑難解答步驟期間相應增加或相應放大資源。
  • 自動調整可能會設定錯誤。 設定錯誤自動調整的一些範例包括:

    • 在需求變更最少或延長的冷卻期間相應增加時,可能會產生比需求更多的成本。
    • 使用沒有設定上限的自動調整可能會導致因系統故障或濫用而造成未受限制的成長,並超過預期的工作負載需求。
  • 擴充至多個區域可藉由將工作負載更接近用戶來增強效能,並避免暫時資源容量限制。 不過,它也會增加複雜性和資源重複。

取捨:更多元件。 其中一項成本優化技術是藉由增加密度、移除重複專案和共置功能,將較少的資源合併。

  • 以效能為中心的雲端設計模式有時需要引進額外的元件。 這些額外的元件通常會導致工作負載的整體成本增加。 例如,您可能會包含訊息總線,以便將負載撫平或卸載工作卸除至應用程式或內容傳遞網路,以改善回應時間。

  • 資源分割可讓工作負載的不同部分具有不同的效能特性,為每個區段啟用獨立的微調。 不過,它可能會增加總擁有成本,因為它需要多個優化的區段,而不是單一的一般化元件。

取捨:對不符合功能需求的專案增加投資。 成本優化的方法之一,就是評估部署的任何解決方案所提供的值。

  • 進階服務和SKU可協助工作負載符合效能目標。 這些服務通常需要更多成本,而且可以提供額外的功能。 如果許多進階功能並未特別用於達到效能目標,它們可能會使用量過低。

  • 高效能工作負載需要遙測數據,才能檢視必須傳送和儲存。 收集的效能遙測增加可能會增加遙測數據傳輸和記憶體的成本。

  • 效能測試活動會增加與生產系統值無關的成本。 效能測試成本的範例包括:

    • 具現化專用於以效能為中心的測試的環境。
    • 使用特製化效能工具。
    • 花時間執行測試。
  • 訓練小組成員以進行特製化效能優化工作,或支付效能微調服務會增加工作負載的成本。

卓越營運的效能效率取捨

取捨:減少可檢視性。 需要可檢視性,才能提供具有有意義警示的工作負載,並協助確保事件回應成功。

  • 減少記錄和計量磁碟區以減少收集遙測所花費的處理時間,而不是其他工作,可減少系統的整體可檢視性。 產生的減少可檢視性的一些範例包括:

    • 它會限制用來建置有意義警示的數據點。
    • 這會導致事件響應活動的涵蓋範圍差距。
    • 它會限制安全性敏感性或合規性相關互動和界限的可觀察性。
  • 實作效能設計模式時,工作負載的複雜性通常會增加。 元件會新增至重要流程。 工作負載監視策略和效能監視必須包含這些元件。 當流程跨越多個元件或應用程式界限時,監視該流程效能的複雜性會增加。 流程效能必須與所有互連元件相互關聯。

取捨:作業的複雜性增加。 複雜的環境具有更複雜的互動,以及來自例程、臨機操作和緊急作業的負面影響的可能性較高。

  • 藉由增加密度來提升作業工作的風險,以提升效能效率。 單一進程中的錯誤可能會有大型的彈射半徑。

  • 實作效能設計模式時,它們會影響備份、金鑰輪替和復原策略等作業程式。 例如,當小組嘗試確保這些工作不會影響數據一致性時,數據分割和分區化可能會使例行工作複雜。

取捨:文化壓力。 營運卓越是以無責任、尊重和持續改進的文化為基礎。

  • 對效能問題進行根本原因分析,可識別需要更正之程式或實作中的缺點。 小組應該考慮練習的學習機會。 如果小組成員被責指問題,則情感可能會受到影響。

  • 例程和臨機操作程式可能會影響工作負載效能。 通常最好在離峰期間執行這些活動。 不過,離峰時數可能很不方便或超出一般時間,而小組成員負責或技能這些工作。

探索其他要素的取捨: