如何評價性能的優劣 : 用戶視角 vs. 系統視角 對于最終用戶 ( End-User ) 來說,評價系統的性能好壞只有一個字——“快”。最" name="description" />
MILY: 宋體; mso-bidi-font-size: 10.5pt; mso-ascii-font-family: 'Comic Sans MS'; mso-hansi-font-family: 'Comic Sans MS'">如何評價性能的優劣: 用戶視角 vs. 系統視角
對于最終用戶(End-User)來說,評價系統的性能好壞只有一個字——“快”。最終用戶并不需要關心系統當前的狀態——即使系統這時正在處理著成千上萬的請求,對于用戶來說,由他所發出的這個請求是他唯一需要關心的,系統對用戶請求的響應速度決定了用戶對系統性能的評價。
而對于系統的運營商和開發商來說,期望的是能夠讓盡可能多的用戶在任意時刻都擁有最好的體驗,這就要確保系統能夠在同一時間內處理更多的用戶請求。正如在《理發店模型》一文中所描述的:系統的負載(并發用戶數)與吞吐量(每秒事務數)、響應時間以及資源利用率(包括軟硬件資源)之間存在著一個“此消彼長”的關系。因此,從系統的運營商和開發商的角度來看,所謂的“性能”是一個整體的概念,是系統的負載與吞吐量、可接受的響應時間以及資源利用率之間的平衡。
換句話說,“好的性能”意味著更大的最佳并發用戶數(The Optimum Number of Concurrent Users)和 最大并發用戶數(The Maximum Number of Concurrent Users)。有關“最佳/最大并發用戶數”的概念請參見《理發店模型》一文。
另外,從系統的視角來看,所需要關注的還包括三個與“性能”有關的屬性:可靠性(Reliability),可伸縮性(Scalability)和 可恢復性(Recoverability)——我將會在本系列文章的第五篇“無處不在的性能測試”中專門討論這三個屬性的含義和相關的實踐經驗。
響應時間
上面這張圖引自段念兄的一份講義,不過我略作了些修改。從圖中我們可以清楚的看到一個請求的響應時間是由幾部分時間組成的,包括
C1:用戶請求發出前在客戶端需要完成的預處理所需要的時間;
C2:客戶端收到服務器返回的響應后,對數據進行處理并呈現所需要的時間;
A1:Web/App Server 對請求進行處理所需要的時間;
A2:DB Server 對請求進行處理所需的時間;
原文轉自:http://www.anti-gravitydesign.com