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

1.2 為什么使用緩存?

在看這個問題之前,我們可以先看一下成功的軟件產品應具備哪些特點:能解決目標用戶的痛點,能夠為企業或個人帶來利益,具有不錯的用戶黏性…… 其中一個極其重要的因素就是要有好的用戶體驗。

1.2.1 從用戶體驗說起

用戶體驗這個詞最早被廣泛認知是在20世紀90年代中期,由用戶體驗設計師唐納德·諾曼(Donald Norman)提出和推廣。信息技術在移動和圖像處理等方面取得的進展已經使得人機交互(HCI)技術幾乎滲透到人類活動的所有領域。這導致了一個巨大轉變——系統的評價指標從單純的可用性,擴展到范圍更豐富的用戶體驗。用戶體驗在人機交互技術發展過程中受到了相當的重視,其關注度與傳統的三大可用性指標(即效率、效益和基本主觀滿意度)不相上下,在某些方面說甚至更重要。

什么是用戶體驗?

ISO 9241-210標準將用戶體驗定義為 “人們對正在使用或期望使用的產品、系統或者服務的認知印象和回應”。因此,用戶體驗是主觀的,且注重實際應用。ISO在定義的補充說明中有著如下解釋:用戶體驗,即用戶在使用一個產品或系統之前、使用期間和使用之后的全部感受,包括情感、信仰、喜好、認知印象、生理反應、心理反應、行為和成就等各個方面。ISO標準暗示了可用性也可以作為用戶體驗的一個方面,“可用性標準可以用來評估用戶體驗一些方面”。不過,該ISO標準并沒有進一步闡述用戶體驗和系統可用性之間的具體關系。顯然,這兩者是相互重疊的概念。

有許多因素可以影響用戶體驗,這些因素被分為三大類:使用者的狀態、系統性能及環境。其中系統性能是軟件產品自身對用戶體驗的關鍵性因素之一。由于感受軟件性能的主體是人,不同的人對于同樣的軟件可能有不同的主觀感受,而且不同的人對于軟件性能關心的視角也不同。系統性能是一種非功能特性,它關注的不是某種特定的功能,而是在完成該功能時所展示出來的及時性。

1.2.2 關于系統的性能

系統性能的指標一般包括響應時間、延遲時間、吞吐量,并發用戶數和資源利用率等幾個方面。

響應時間是指系統對用戶請求做出響應的時間,與人對軟件性能的主觀感受是非常一致的,它完整地記錄了整個系統處理請求的時間。由于一個系統通常會提供許多功能,而不同功能的處理邏輯也千差萬別,因而不同功能的響應時間也不盡相同,甚至同一功能在不同輸入數據的情況下響應時間也不相同。所以,響應時間通常是指該軟件系統所有功能的平均響應時間或者所有功能中的最大響應時間。當然,有時候也需要對每個或每組功能討論其平均響應時間和最大響應時間。

在討論軟件性能時,我們更關心所開發軟件本身的“響應時間”。也就是說,可以把用戶感受到的響應時間劃分為“呈現時間”和“系統響應時間”,前者是指客戶端在接收到系統數據時呈現頁面所需的時間,而后者是指客戶端接收到用戶請求到客戶端接收到服務器發來的數據所需的時間。還可以把“系統響應時間”進一步分解為“網絡傳輸時間”和“應用延遲時間”,其中前者是指數據在客戶端和服務器端進行傳輸的時間,而后者是指系統實際處理請求所需的時間。

吞吐量是指系統在單位時間內處理請求的數量。對于無并發的應用系統而言,吞吐量與響應時間成嚴格的反比關系,實際上此時吞吐量就是響應時間的倒數。無并發的應用都是單機應用,對于互聯網或者移動互聯網上的產品而言,并發用戶數是指系統可以同時承載的正常使用系統功能的用戶數量。與吞吐量相比,并發用戶數是一個更直觀但也更籠統的性能指標。而資源利用率反映的是在一段時間內資源平均被占用的情況。

從瀏覽器到網絡,再到應用服務器,甚至到數據庫,通過在各個層面應用緩存技術,整個系統的性能將大幅提高。例如,緩存離客戶端更近,從緩存請求內容比從源服務器所用時間更少,呈現速度更快,系統就顯得更靈敏。緩存數據的重復使用,大大降低了用戶的帶寬使用,其實也是一種變相的省錢(如果流量要付費的話),同時保證了帶寬請求在一個低水平上,更容易維護。所以,使用緩存技術,可以降低系統的響應時間,減少網絡傳輸時間和應用延遲時間,進而提高了系統的吞吐量,增加了系統的并發用戶數。利用緩存還可以最小化系統的工作量,使用了緩存就可以不必反復從數據源中查找,緩存所創建或提供的同一條數據更好地利用了系統的資源。

因此,緩存是系統調優時常用且行之有效的手段,無論是操作系統還是應用系統,緩存策略無處不在。

如果說音樂是時間的藝術,那么,緩存就是軟件系統中關于時間的藝術。“緩存為王”本質上是系統性能為王,對用戶而言就是用戶體驗為王。

主站蜘蛛池模板: 保靖县| 股票| 抚州市| 玉树县| 云和县| 岳阳县| 莱州市| 德安县| 鹤岗市| 全州县| 元朗区| 乌鲁木齐县| 陵水| 中方县| 泸西县| 保康县| 巴彦县| 黄大仙区| 平陆县| 富民县| 清涧县| 怀远县| 象州县| 云安县| 新邵县| 隆子县| 青铜峡市| 云林县| 准格尔旗| 峨眉山市| 行唐县| 安阳县| 北辰区| 平阳县| 金堂县| 泸水县| 桐柏县| 张家界市| 龙胜| 三门县| 德阳市|