軟件性能
1.什么是軟件性能
軟件性能是指軟件響應及時度滿足用戶要求的程度。
2.軟件性能的內(nèi)容
軟件性能是軟件在運行的過程中表現(xiàn)出來的時間和空間效率與用戶的需求之間的吻合程度。如果時間和空間效率與其心理期待一致或能夠達到用戶的即定要求,用戶就認為這個軟件的性能是符合的;反之,此軟件的性能則被認為是有問題的或者用戶難以接受的。從宏觀上看,軟件性能就是軟件運行時完成某一功能的響應性特征,以及增加軟件功能時保持響應性的能力,即可伸縮性特征。
狹義地講,軟件性能是指軟件在盡可能少地占用系統(tǒng)資源的前提下,盡可能高地提高運行速度;廣義地講,軟件性能是指軟件質(zhì)量的屬性,包括正確性、可靠性、易用性、安全性、可擴展性、兼容性和可移植性。軟件的性能是軟件的一種非功能特性,它關(guān)注的不是軟件是否能夠完成特定的功能,而是在完成該功能時展示出來的及時性。由于感受軟件性能的主體是人,不同的人對于同樣的軟件能有不同的主觀感受,而且不同的人對于軟件性能關(guān)心的視角也不同。由于目前網(wǎng)絡應用非常普遍,因此下面將介紹網(wǎng)絡應用軟件性能的指標和軟件性能的視角。
- 用戶視角
對用戶而言,性能就是響應時間。用戶甚至不關(guān)心響應時間中哪些是軟件造成的,哪些是硬件造成的。但用和感受到的響應時間既有客觀成分,也有主觀成分,甚至是心理因素 。
- 管理員視角
管理員需要使用軟件提供的管理功能等手段來方便普通用戶使用。這類用戶首先關(guān)注普通用戶感受到的軟件性能。其次,管理員需要進一步關(guān)注如何利用管理功能進行性能調(diào)優(yōu)。
- 開發(fā)人員視角
開發(fā)人員的視角與管理員的視角基本一致,但開發(fā)人員需要更深入地關(guān)注軟件性能。在開發(fā)過程中,開發(fā)人員希望能夠盡可能地開發(fā)出高性能的軟件。
軟件性能評價方法大致可以分為兩類:測量方法和模型方法。測量方法在軟件系統(tǒng)的運行過程中利用一定的測量設備或測量程序得到各種性能指標。這是最直接也是最簡單的方法,但是這種方法比較費時而且只能在系統(tǒng)設計編碼完成以后進行實施,對軟件設計過程起不到應有的修正作用。
3.軟件性能的指標
- 響應時間
響應時間是指系統(tǒng)對請求作出響應的時間。直觀上看,這個指標與人對軟件性能的主觀感受是非常一致的,因為它完整地記錄了整個計算機系統(tǒng)處理請求的時間。由于一個系統(tǒng)通常會提供許多功能,而不同功能的處理邏輯也千差萬別,因而不同功能的響應時間也不盡相同,甚至同一功能在不同輸入數(shù)據(jù)的情況下響應時間也不相同。所以,在討論一個系統(tǒng)的響應時間時,人們通常是指該系統(tǒng)所有功能的平均時間或者所有功能的最大響應時間。當然,往往也需要對每個或每組功能討論其平均響應時間和最大響應時間。
- 系統(tǒng)響應時間和應用延遲時間
雖然軟件性能指標本身只涉及軟件性能的度量,但考慮到軟件性能測試的主要目的是測試和改善所開發(fā)軟件的性能,對于復雜的網(wǎng)絡化的軟件而言,簡單地用響應時間進行度量就不一定合適了。
考慮一個普通的網(wǎng)站系統(tǒng)。開發(fā)該網(wǎng)站系統(tǒng)時,軟件開發(fā)實際上只集中在服務器端,因為客戶端的軟件是標準的瀏覽器。雖然用戶看到的響應時間時使用特定客戶端計算機上的特定瀏覽器瀏覽該網(wǎng)站的響應時間,但是在討論軟件性能時更關(guān)心所開發(fā)網(wǎng)站軟件本身的“響應時間”。
吞吐量是指系統(tǒng)在單位時間內(nèi)處理請求的數(shù)量。對于無并發(fā)的應用系統(tǒng)而言,吞吐量與響應時間成嚴格的反比關(guān)系,實際上此時吞吐量就是響應時間的倒數(shù)。前面已經(jīng)說過,對于單用戶的系統(tǒng),響應時間(或者系統(tǒng)響應時間和應用延遲時間)可以很好地度量系統(tǒng)的性能,但對于并發(fā)系統(tǒng),通常需要用吞吐量作為性能指標。
- 并發(fā)用戶數(shù)
并發(fā)用戶數(shù)是指系統(tǒng)可以同時承載的正常使用系統(tǒng)功能的用戶的數(shù)量。與吞吐量相比,并發(fā)用戶數(shù)是一個更直觀但也更籠統(tǒng)的性能指標。實際上,并發(fā)用戶數(shù)是一個非常不準確的指標,因為用戶不同的使用模式會導致不同用戶在單位時間發(fā)出不同數(shù)量的請求。
- 資源利用率
資源利用率反映的是在一段時間內(nèi)資源平均被占用的情況。對于數(shù)量為1的資源,資源利用率可以表示為被占用的時間與整段時間的比值;對于數(shù)量不為1的資源,資源利用率可以表示為在該段時間內(nèi)平均被占用的資源數(shù)與總資源數(shù)的比值。