軟件測試中性能調優的過程解析 軟件測試
性能調優無疑是個龐大的話題,也是很多項目中非常重要的一環,性能調優的難做是眾所周知的,畢竟性能調優涵蓋的面實在是太多了,在這篇文章中我們蜻蜓點水般的來看看性能調優這項龐大的工程都有些什么過程,同時也看看這些過程中常見的一些做法。
確定性能調優的目標
性能調優,首先是要確定性能調優的目標是什么,如果現在應用已經滿足了需求,就沒必要去做性能調優了,畢竟不經過一個系統的過程,其實是無法確定你所做的性能調整是否真的調優了性能,是否沒有造成應用中其他的問題,所以確定性能目標是非常重要的,在定義性能目標的時候通常這么定義的呢:
1、最大并發數
2、Quality of Service
服務的質量,在軟件系統方面我們認為主要表現在請求的出錯率,系統的load等。
3、最長響應時間
對于任何請求所能承受的最大響應時間。
4、TPS
每秒需要支持的最大事務數,最典型的指標是:“某頁面最高需要支撐每秒7000次的訪問次數”。
例如一個web系統,需要定義出來的目標是:
并發目標:最高支撐200并發;
QoS:出錯率須控制在萬分之一,系統的load最高只能到達10;
TPS:每秒完成7000次請求的處理;
最大響應時間:最長允許的響應時間為5秒。
至于請求的平均響應時間這些就不在性能調優目標中定義,因為要達到TPS的要求,響應時間是必須要達到一個級別的,而且響應時間隨著高并發是會出現劣化的。
當然,還可以把性能指標定到更為細節,例如某個方法的TPS在100并發時需要達到多少。
在確定好了性能目標后,重要的就是如何來測量系統的性能了。
測量系統性能
對于新系統而言,需要評估出其正式運行時的數據量的增長情況;而對于已運行的系統,則需要根據監控獲取到系統的運行數據(例如高峰并發數、系統的響應速度情況、系統的load、網絡流量、每類請求在總的請求中所占的百分比等)。
對于新系統而言,要評估出具體的性能相對來說稍微好做一點,因為此時系統通常較為單純,數據量的增長也不可能是一夜之間增長的,因此基本可以按照一種正常的方法在測試環境評估出其正式運行的性能。
而對于已運行的系統而言,則較為麻煩,因為通常來講要在測試環境中模擬正式運行環境基本是不太可能的,因此這個時候通常要采取一些模擬的方法或更高壓力的方法來盡量更為準確的評估出系統的性能。
在測試系統性能時,通?刹捎玫姆椒ㄓ校
文章來源于領測軟件測試網 http://www.kjueaiud.com/