官术网_书友最值得收藏!

1.3 互聯網架構目標與度量

互聯網架構的IT系統也要滿足低成本、高性能、易擴展、高可用、高安全的目標,并對系統從這幾個維度進行綜合考量。

(1)低成本,實現技術架構要盡量控制成本,從時間階段上可以分為建設成本、維護成本,從支出類型上可以分為硬件成本、商業中間件成本、軟件開發成本等。

(2)高性能,網站性能指標具體體現在響應時間、并發數、吞吐量、系統錯誤率、系統負載等技術指標上。

■ 系統的響應時間是指系統完成某一功能需要使用的時間,也就是從用戶發出請求到收到結果所需要的時間,響應時間可能包括網絡傳輸時間、服務處理、數據庫處理時間等。

■ 并發用戶數是指系統可以同時承載的正常使用系統功能的用戶的數量,準確地說是指同時發出請求的用戶數。

■ 系統的吞吐量(TPS)是指系統每秒處理的總的用戶請求數。在性能測試中,TPS=VU×R/T,其中VU是同時發出請求的虛擬用戶數目,R是每個虛擬用戶發出的請求數目,T是性能測試所用的時間。

■ 系統錯誤率是指系統在負載情況下,失敗交易的概率。錯誤率=(失敗交易數/交易總數)×100%。穩定性較好的系統,其錯誤率應該由超時引起,即為超時率。

■ 資源利用率是各種計算機資源的使用情況,包括系統負載(Load)、內存利用率、SWAP內存交換空間利用率、網絡I/O、硬盤I/O等。其中系統負載是系統CPU繁忙程度的度量,是指當前正在被CPU執行和等待被CPU執行的進程數目總和。多核CPU情況下,完美情況是所有CPU都在使用,沒有進程在等待處理,所以,Load的理想值是CPU的數目。當Load值低于CPU數目時,表示CPU有空閑,資源存在浪費;當Load值高于CPU數目時,表示進程在排隊等待CPU,系統資源不足,影響應用程序的執行性能。對于內存,要衡量系統內存使用率、SWAP(與虛擬內存交換)交換空間利用率,太多的交換將會引起系統性能低下,一般應低于70%。磁盤指標主要有每秒讀寫多少兆字節、磁盤繁忙率、磁盤隊列數、平均服務時間、平均等待時間、空間利用率等,其中磁盤繁忙率是直接反映磁盤是否有瓶頸的重要依據,一般情況下要低于70%。網絡吞吐量指標主要是每秒有多少兆字節流量進出,一般情況下不能超過設備或鏈路最大傳輸能力的70%。

系統性能問題首先反映在系統資源指標上,例如CPU、內存、磁盤I/O、網絡I/O。分析問題時需要查看中間件指標情況,如虛擬機的垃圾收集情況,還要掌握數據庫相關指標情況,如慢查SQL、命中率、鎖、參數設置等。如果以上指標都正常,而系統性能仍然很低,則應用程序的算法、緩沖、緩存、同步或異步可能有問題。一方面,可以結合問題現象和系統架構對問題正向推導,此時主要依賴對系統的了解和把控。另一方面,對于較難定位的問題,可以利用Java性能分析工具,查看堆棧情況,觀察每一步驟的執行時間,精準定位問題發生位置,常用的工具包括JProfiler,jstack,JConsole,以及Java診斷工具Arthas,故障注入工具Chaosblade等。

(3)高可用,系統的可用性(availability)指系統在面對各種異常時可以正確提供服務的能力。系統的可用性可以用系統停止服務的時間與正常服務的時間的比例來衡量,也可以用某功能的失敗次數與成功次數的比例來衡量。互聯網系統在宏觀上用年可容忍停機時間衡量系統的可用性,見表1-1。

表1-1 應用系統可用水平與停機時間對應關系

在系統測試過程中通過可靠性測試和穩定性測試保障系統的高可用。

可靠性指標:在雙機熱備、集群、備份和恢復等場景中,模擬主備切換、節點變更、備份與恢復的過程。

穩定性指標:系統按照最大容量的80%或在標準壓力(系統的預期日常壓力)情況下運行,能夠穩定運行的最短時間。

(4)易擴展,系統的擴展性(scalability)指分布式系統通過擴展集群機器規模提高系統性能(吞吐、延遲、并發)、存儲容量、計算能力的特性。互聯網架構在設計時應支持無限擴展,在實施時可以按單日處理情況的三倍部署,遇重大營銷推廣活動時需要提前規劃準備。

擴展能力的計算公式為:(增加性能/原始性能)/(增加資源/原始資源)×100%。擴展能力的度量應通過多輪測試獲得擴展指標的變化趨勢。理想的擴展能力是資源增加幾倍,性能就提升幾倍。例如按業務系統水平復制或按服務垂直擴展的能力都應該接近100%,但其擴展能力受限于數據庫連接數等資源會有最大限值。

(5)高安全,系統上線前要使用代碼檢查工具和漏洞掃描工具對系統進行安全檢查。業務場景較重要的,按照行業主管要求,達到三級等保標準,并按等保要求定期開展安全等級評測。

主站蜘蛛池模板: 康马县| 沙洋县| 类乌齐县| 开鲁县| 河东区| 望江县| 凌海市| 湾仔区| 泸西县| 绥中县| 贵阳市| 嘉善县| 大荔县| 南安市| 比如县| 古蔺县| 弥勒县| 合江县| 成都市| 大关县| 正镶白旗| 石家庄市| 鄂托克前旗| 无锡市| 苍南县| 南康市| 登封市| 霞浦县| 桦南县| 黎城县| 民乐县| 普安县| 凭祥市| 祁阳县| 五大连池市| 满洲里市| 嵩明县| 曲沃县| 彰化县| 梓潼县| 肃南|