云計算興起雖然解決了數(shù)據(jù)中心里的一些問題,同時也帶來了一些新的性能問題。要知道云通?;谔摂M化技術搭建,允許多個操作系統(tǒng)實例或者租戶共享一個物理服務器,這意味著會存在資源競爭,如何將有限的資源合理分配出去,也將影響到系統(tǒng)性能?,F(xiàn)在人們對云服務的要求已經不是簡單的能用就行,而是要好用、要體驗好,對性能要求越來越高,這種體驗不是簡單地某項可量化的測量指標,而是一種具有一定主觀性的感受。人們通過感受來給出“好”與“壞”的評價,這個取決于應用開發(fā)人員和最終用戶的性能預期,這個很難用幾個測量的數(shù)據(jù)參數(shù)來衡量。下面,我們就來說一說與云計算性能相關的幾個重要因素,以便對性能因素有所了解。
延時
延時是操作執(zhí)行之前所花的等待時間,一次應用程序請求,一次數(shù)據(jù)庫查詢或者是一次文件系統(tǒng)操作等都是有延時的,比如對于網(wǎng)站,從點擊鏈接到屏幕顯示整個網(wǎng)頁加載完成的時間,過高延時會令人沮喪,客戶可能會選擇到別處開展業(yè)務。延時包含有很多方面,是各種因素的累積,表1列舉了部分系統(tǒng)的延時,這些延時累加起來就反映了整個系統(tǒng)的反應時間,延時就是云計算性能的最直接表現(xiàn)。
延時的高低與云計算性能影響是很大的,延時的數(shù)據(jù)也不是一成不變的,時刻都處于波動之中,動態(tài)跟蹤可以從任意感興趣的點測量延時,還可以提供現(xiàn)實延時完整的分布情況。有些云服務關注的是平均延時,而有的云服務關注突發(fā)延時,具體要看應用業(yè)務類型,側重點是哪個方面,不管怎樣延時是云計算性能的最直接體現(xiàn)。
IOPS
IOPS是指每秒發(fā)生的輸入/輸出操作的次數(shù),是數(shù)據(jù)傳輸?shù)囊粋€度量方法,對于磁盤讀寫,IOPS就是每秒讀和寫次數(shù),隨機存取及循序訪問時的IOPS代表了性能特性。循序訪問是訪問存儲設備中相鄰位置的數(shù)據(jù),一般和較大的數(shù)據(jù)區(qū)塊訪問有關,常見性能特性如表2:
吞吐量
吞吐量是評價數(shù)據(jù)處理執(zhí)行的速率,在數(shù)據(jù)傳輸方面,用字節(jié)/秒或比特/秒來表示,在某些情況下,也用每秒操作數(shù)或每秒業(yè)務數(shù)表示,吞吐量取決于上下文環(huán)境。對于交互式應用來說,吞吐量指標反映的是服務器承受的壓力,在容量規(guī)劃的測試中,吞吐量是一個重點關注的指標,因為它能夠說明系統(tǒng)級別的負載性能。吞吐量的限制是性能瓶頸的一種重要表現(xiàn)形式,因此,有針對性地對吞吐量設計測試,可以協(xié)助盡快定位到性能瓶頸所在位置。通過提升系統(tǒng)的吞吐量,達到提升云計算系統(tǒng)性能的目的。
使用率
使用率經常用于操作系統(tǒng)描述設備的使用情況,比如CPU和磁盤設備,使用率指的是就是所消耗的CPU和存儲容量。對于服務所請求的資源,使用率描述在所給定的時間區(qū)間內資源的繁忙程度。使用率是基于時間的,或者基于容量的。使用率指標告訴我們系統(tǒng)的忙碌程度,當系統(tǒng)接近100%使用率,資源發(fā)生競爭時性能會有嚴重的下降。想象一下高速公路的收費站,使用率就相當于有多少收費站在忙于收費,使用率100%意味著你找不到一個空的收費站,必須排在別人的后面。
除了以上介紹的這些,當然還有很多性能因素。比如:響應時間,飽和度,瓶頸,工作負載和緩存等等,掌握這些性能參數(shù)也非常必要,在此不再詳述。解決復雜性能問題常常需要全局性的方法,整個系統(tǒng)(包括自身內部和外部的交互)都可能需要被調查研究,這需要非常廣泛的技能。很多時候性能問題表現(xiàn)也并不是問題本身,在復雜的軟件中通常會有多個問題,即使最優(yōu)秀的編程人員也難免會犯錯,就是那些被認為擁有高性能的軟件,也會有不少已知的但仍未被修復的性能問題,我們要辨別哪些問題影響到了性能,哪些無關。對于那些和性能關系不大的問題,可以放置不理。還有應該把關注點放到與云計算性能緊密相關的環(huán)節(jié)上,比如數(shù)據(jù)中心網(wǎng)絡很多端口光模塊沒有識別,雖然影響到了使用,但對轉發(fā)性能沒有影響,這個就可以忽略,數(shù)據(jù)中心只要關心與業(yè)務性能有關的環(huán)節(jié),將這些環(huán)節(jié)做好,結果必然是獲得優(yōu)異的性能。