系統的抗壓能力,可以理解為系統每秒鐘能接收和發送的數據量。
其中,涉及以下兩個重要的指标。
4.1.1 TPS英語全名叫TransactIOn Per Second,是指每秒鐘能處理的事務數量。
一般TPS是對整個系統而言的,一個應用系統1S能完成多少事務處理,一個事務在分布式處理中,可能會對應多個請求。例如請求,處理,響應等處理。
4.1.2 QPS英語全名叫Queries Per Second,每秒鐘處理完的請求數量。
注:
這裡的Q不是指query查詢的意思,而是指request請求。所以如果理解為系統每秒處理的查詢數量是不對的。必須是系統處理完的請求,而不是能接受的請求,這裡必須包含用戶的等待時間。
處理完成具體是指用戶發出請求到服務器成功返回響應。對于沒有resp的情況,可以理解成Server端有一個計數器counter,每處理完一個請求 1,1s後的counter就是QPS。
4.1.3 TPS和QPS的關系TPS和QPS的之間的換算關系,是由具體的業務場景來确定,沒有通用的公式,通常一個事務包含多次請求。
4.2 并發數4.2.1 并發用戶數并發用戶數是指在同一時刻與服務器進行了交互的在線用戶數量。這些用戶的最大特征是和服務器産生了交互,這種交互既可以是單向的傳輸數據,也可以是雙向的傳送數據。
并發用戶數的統計方法目前還沒有準确的公式,不同系統會有不同的并發特點。例如,OA系統統計并發用戶數的經驗公式為:使用系統的總用戶數量*(5%~20%)。不要過于關注計算的結果,因為為了保證系統的擴展,測試時的并發用戶數要稍微大一些,除非是要測試系統能承載的最大并發用戶數量。
4.2.2 并發連接數并發連接數指的是客戶端向服務器發起請求,并建立了TCP連接。
并發連接數就是每秒鐘服務器連接的總TCP數量。
4.2.3 并發請求數并發請求數是指每秒能處理多少請求。請求指的是客戶端在建立完連接後,向http服務發出請求且服務器返回了響應結果。
4.2.4 并發線程數每秒鐘能夠處理完成的線程數量。
4.2.5 最佳衡量标準上述有4種并發數據,哪一種更合适呢?
實際中,我們是衡量服務端的性能,因此選擇并發線程數。
4.3 響應時間英文全稱是Response Time,簡稱RT,是指處理一次請求所需要的的時間。
4.3.1 平均響應時間通常我們會使用平均響應時間來進行衡量,平均響應時間是指單位時間内處理一次請求的平均時間。
4.3.2 阿姆達爾定理阿姆達爾定律(Amdahl's law) 由計算機科學家 Gene Amdahl 在 1967 年提出,旨在用公式描述在并行計算中,多核處理器理論上能夠提高多少倍速度。
具體公式如下:
其中,
是指最大性能提升值,
指的是需要提高性能的部分,s指的是實現增強後 p 的性能增益因子。
那麼,在本文中,平均響應時間優化前後的公式如下:
其中,
是指優化後的平均響應時間,
是指優化前的平均響應時間。
舉例說明:
如果可以改進的部分占整個系統的70%,則p=0.7,并且對于一個系統,其性能可以提高一倍,則s=2,那麼計算出來的最大性能提升值為:
算出來的值為:1.54
那麼,
因此,在優化時,會選擇p最大的部分優化。有些IO場景較多的場景,要着重優化。
4.4 可靠性4.4.1 可靠性指标可靠性指标可以被定義為在使用條件和規定時間内,産品完成規定功能的能力。
串聯系統的可靠性為:99%×99%×99%×99%×99%≈0.95,因此串聯系統越多越不可靠。
并聯系統的可靠性為:1 - (1- 99%)× (1- 99%)× (1- 99%)× (1- 99%)× (1- 99%)≈0.99999,因此并聯系統越多越可靠。
4.4.2 如何提高系統可靠性,
- 通過消除單點系統,提高系統的可靠性。
- 通過主備和冗餘原則,提高系統的可靠性。
- 通過将串聯系統化解為并聯系統,提高系統的可靠性。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!