1、測試伺服器能否接受10萬使用者同時線上操作
如果用IIS服務做應用伺服器,單台可承受的最大並發數不可能達到10萬級,需要使用叢集,利用負載平衡來實現。
如果使用websphere之類的應用伺服器,單台可承受的最大並發數可達10萬級,但為效能考慮,還是應該使用叢集。
—— by 打雜小馬鈴薯
2、推薦使用JMeter工具
——————————————————————————————————————————————
《效能測試從零開始》 51Testing
3、功能需求說明VS效能需求說明
首碼中名詞、動詞居多,後者多包涵容量、時間類詞彙。
前者關心“做什麼”,即軟體“主體”發生的“事情”。後者關心“做得怎樣”,即時間與空間的敏感性。
另外,軟體的效能實現是建立在功能實現的基礎上。
4、使用者對軟體效能的需求
(1)計算效能
即軟體系統有多快。如一個業務需要花費多少時間。
(2)資源的利用與回收
運行軟體系統需要使用到的伺服器記憶體數量,對於整個系統的效能表現是至關重要的。因此,軟體系統能否在運行時有效地使用和釋放記憶體是我們考察軟體效能的一個重要因素。
(3)啟動時間
J2EE系統在第一次啟動時比較慢,因為需要涉及到緩衝的載入、JSP頁面的編譯、JAVA class編譯成機器指令等。而C/C++程式由於直接運行二進位代碼,因此啟動速度快。
啟動速度在一般情況下慢一點沒關係,但是在主/備裝置間切換時,啟動時間久顯得非常重要了。
(4)伸縮性
一個系統在50個並發使用者訪問時表現正常,但當並發使用者達到1000時,表現如何呢?效能是逐漸下降還是經過某個拐點後急速下降?
(5)穩定性
“路遙知馬力”,使用者希望自己的系統可以穩定運行很長時間。
5、衡量一個軟體系統效能的常見指標:
(1)回應時間(Response time)
包括:①服務時間 (指伺服器完成交易請求執行的時間,這個時間可以度量伺服器的處理能力)
②網路回應時間(網路硬體傳輸請求和結果所花費的時間)
③用戶端時間(對於瘦用戶端而言,時間很短,通常可忽略。但對於胖用戶端而言,由於包含了複雜的邏輯處理,因而需要消耗較多時間,也因此有可能成為系統效能的瓶頸)
將時間段進行細分是為了確定效能的瓶頸。
(2)輸送量(Throughput)
“吞”:請求;“吐”:結果。輸送量反映了系統的處理能力。不同地方的輸送量有不同的釋義。對於資料庫而已,輸送量指單位時間內SQL語句的執行條數。對於網路而言,輸送量指單位時間內網路傳輸的資料量。
(3)資源使用率(Resource Utilization)
常見的資源有:CPU、Memory、Disk、Network等
(4)點擊數(Hits per second)
點擊數不是通常意義上的滑鼠的點擊數量,而是按照client端想server端發起的Http請求的數量計算的。一次滑鼠點擊是有可能引發多次Http請求的。
(5)並發使用者數(Concurrent User)
用來度量伺服器並發容量和同步協調能力。一批使用者同時執行一個操作的數量。
6、軟體在設計階段一旦決定採用哪種架構和技術,其效能也就註定只能在一定的範圍內變動了。
7、軟體開發-測試V型圖
8、同樣適用於效能測試的一些軟體測試規則
(1)確定預期輸出是測試必不可少的一部分
(2)必須徹底檢查每一個測試結果
在最終發現的錯誤中,有相當一部分在前面的測試中已經暴露了,但因未被仔細檢查而忽略。
效能測試中發現的80%的錯誤很可能集中在20%的程式模組中。
(3)窮舉測試是不可能的