亞馬遜網絡服務(AWS)提供各種資源和服務來幫助您構建SaaS和PaaS解決方案,但是,挑戰在于實現和保持性能效率,這在交付業務價值方面具有自己的重要份額。本文重點介紹了設計和運行可靠、安全、高效且經濟高效的云應用程序的一些最佳做法,這些應用程序可提供性能效率。有兩個主要領域需要關注:
選擇和配置云資源以獲得更高的性能
查看和監控性能
1. 選擇和配置云資源以獲得更高的性能
計算:在 AWS 中,計算以三種形式提供:實例、容器和函數。可以根據工作負載選擇要用于體系結構中每個組件的計算形式。在構建計算使用時,您應通過以下方式利用 AWS 彈性計算選項:
選擇最佳實例系列和類型,以確保您擁有正確的計算、內存、網絡和存儲功能,以及最符合工作負載需求的正確配置
優化操作系統設置,如卷管理、RAID、塊大小和設置
使用 Amazon ECS 服務構建容器時,您應該使用數據為工作負載選擇最佳類型,并考慮容器配置選項,例如內存、CPU 和租賃配置
實現性能的關鍵 AWS 計算服務:
AWS Lambda:要使用 AWS Lambda 提供最佳性能,請選擇函數所需的內存量。例如,選擇 256 MB 內存會為您的 Lambda 函數分配大約是請求 128 MB 內存的兩倍。您還可以控制每個函數允許運行的時間(最多 300 秒)
AWS 競價型實例:使用競價型實例以低成本生成負載,并在生產中遇到瓶頸之前發現瓶頸
存儲:AWS 提供塊、文件系統、對象和存檔等存儲解決方案。您可以通過考慮共享能力、文件大小、緩存大小、延遲要求、預期吞吐量和數據持久性等特征來選擇任何一項。
實現性能的關鍵 AWS 存儲服務:
您可以從 Amazon S3、Amazon Glacier、Amazon Elastic Block Store (Amazon EBS)、Amazon Elastic File System (Amazon EFS) 或 Amazon EC2 實例存儲中選擇最適合您需求的 AWS 服務。以下是 AWS 存儲服務及其特征的摘要。
參考:AWS 架構完善的框架 – AWS 的性能效率支柱白皮書
數據庫:在 AWS 中,有四種方法可以滿足數據庫要求:關系在線事務處理 (OLTP)、非關系數據庫 (NoSQL)、數據倉庫和在線分析處理 (OLAP) 以及數據索引和搜索。在管理數據時,應考慮以下準則。
選擇最適合您的訪問模式的數據庫解決方案,或考慮更改您的訪問模式(例如,索引、密鑰分布、分區或水平擴展)以與存儲解決方案保持一致,以最大限度地提高性能
確定解決方案可能需要的不同特征(例如,可用性、一致性、分區容錯、延遲、持久性、可伸縮性和查詢功能),以便可以選擇適當的數據庫和存儲技術,如關系、NoSQL 或倉庫
考慮所選數據庫方法的配置選項,例如存儲優化、數據庫級設置、內存和緩存
實現性能的關鍵 AWS 數據庫服務:
Amazon RDS:請考慮使用自動只讀副本(不適用于 Oracle 或 SQL Server)來橫向擴展讀取性能、SSD 支持的存儲選項和預配的 IOPS。這些副本允許讀取密集型工作負載使用多個服務器,而不是使中央數據庫過載
Amazon DynamoDB Accelerator (DAX):它通過數據庫前面的讀取/直寫分布式緩存層提供吞吐量 Auto Scaling 支持,為緩存中的實體提供亞毫秒級延遲
Amazon Redshift:當您需要可擴展的 SQL 操作時,請使用 Amazon Redshift。如果您指定排序鍵、分布鍵和列編碼,Amazon Redshift 將提供最佳性能,因為這些可以顯著提高存儲、I/O 和查詢性能
Amazon Athena:它提供了一個完全托管的Presto服務,可以在具有大量結構化程度較低的數據的數據湖上運行查詢
Amazon ElastiCache:它用作內存數據存儲和緩存,以支持要求亞毫秒級響應時間、高吞吐量和低延遲的最苛刻的應用程序
網絡:在 AWS 中,聯網通過計算、存儲、網絡、路由和邊緣服務以多種不同的類型和配置提供。
為基于部署的用戶位置、數據位置以及安全性和合規性要求選擇適當的一個或多個區域
使用內容分發網絡 (CDN) 和域名系統 (DNS) 等邊緣服務來減少延遲。但是,您需要確保已正確配置DNS和HTTP / HTTPS的緩存控制,以獲得最大的好處
使用應用程序負載均衡器進行 HTTP 和 HTTPS 流量請求路由,用于使用微服務和容器的現代應用程序架構
使用網絡負載均衡器對需要極端性能的 TCP 流量進行負載平衡。它能夠每秒處理數百萬個請求,同時保持超低延遲,并且還經過優化以處理突發和不穩定的流量模式
實現性能的關鍵 AWS 網絡服務:
亞馬遜 EBS 優化實例:它們提供優化的配置堆棧,以最大程度地減少 Amazon EBS I/O 與來自實例的其他流量之間的爭用
亞馬遜 S3 傳輸加速:Amazon S3 提供內容加速作為一項功能,使外部用戶能夠從 CloudFront 的網絡優化中受益,從而將數據上傳到 Amazon S3。
Amazon Elastic Network Adapters (ENA): 它通過在單個置放群組內為您的實例提供 20 Gbps 的網絡容量來提供進一步的優化
AWS CloudFront: 它是一個全球 CDN 提供全球邊緣站點網絡,用于緩存內容并為最終用戶提供高性能網絡連接
亞馬遜路線 53:它提供基于延遲的路由 (LBR),通過將客戶路由到 AWS 終端節點(適用于 EC2 實例、彈性 IP 地址或 ELB 負載均衡器)來幫助提高應用程序的性能
Amazon Virtual Private Cloud (Amazon VPC):使用 VPC 終端節點,您的 VPC 與其他 AWS 服務之間的數據將在 Amazon 網絡內傳輸,從而有助于保護您的實例免受互聯網流量的影響并提高性能
AWS Direct Connect: 它提供與 AWS 環境的專用連接,從 50 Mbps 到 10 Gbps
2.審查和監控績效
確定解決方案的高性能 AWS 架構方法后,您應該設置一個自動化流程來執行/監控/查看性能,以確保您選擇的資源類型和配置選項符合您的自定義和行業基準。
績效衡量指標和基準:構建您自己的自定義或行業標準基準,例如 TPC-DS(對數據倉庫工作負載進行基準測試)。還建議您同時使用技術和業務指標。例如,網站或移動應用的關鍵技術指標是呈現時間、線程計數、垃圾回收率和等待狀態,而業務指標包括每個請求的總累積成本、每個用戶和每個微服務的請求、降低成本的警報等。
自動化性能測試:設置 CICD 進程,以便在每個生成成功通過功能測試后自動觸發性能測試。自動化應創建新環境,設置初始條件,加載測試數據,然后執行性能和負載測試。這些測試的結果應與生成相關聯,以便可以跟蹤隨時間推移的性能變化
自動化測試:創建云解決方案測試自動化框架,該框架運行一系列測試腳本,這些腳本復制預先記錄的用戶旅程和數據訪問模式,以盡可能預測生產中 AWS 資源使用情況的行為。您還可以使用軟件或軟件即服務 (SaaS) 解決方案來生成所需的負載
性能監控儀表板:對于每個構建版本,您的團隊應可以看到關鍵技術和業務指標,以確保性能效率。創建可視化效果以監視性能問題、熱點、等待狀態或低利用率
關鍵 AWS 性能審查和監控服務:
Amazon CloudWatch:它有助于收集和發布自定義指標和業務指標,并設置警報,指示何時超出閾值,以通知測試超出預期性能
AWS 可信顧問: 它可以幫助您監控 EC2 利用率、服務限制、安全組中導致性能下降的大量規則、資源記錄集、過度使用的 EBS、CloudFront 的 HTTP 請求標頭、EC2 到 EBS 吞吐量、錯誤配置的 DNS 設置以及更多性能檢查點,并建議所需的操作
審核編輯:郭婷
-
數據庫
+關注
關注
7文章
3817瀏覽量
64498 -
AWS
+關注
關注
0文章
432瀏覽量
24395
發布評論請先 登錄
相關推薦
評論