bug的表現
拆分物件
然後從功能實現上來看,怎麼實現這個完整功能的。通常這些業務功能操作都對應著乙個或多個請求(可能能是不同型別的請求,比如 http, mysql 等),我們要做的是找出這些操作對應的請求,請求之間的順序是怎麼樣的。
指標分析
常用分析思路:
2/8 法則
正態分佈
按比例倍增
響應時間 2-5-8
舉例:注意:
如果要求更高系統效能,根據實際情況,也可以考慮 1/9 原則或其它更嚴格的演算法
以上估值只是大致的估算,不是精確值
資料生命週期:
資料增長率:
如果是新專案,那就比較不確定了,除非能收集相關資料。
理髮區
|h| |h| |h|
|_| |_| |_|
等待區 紅色報警區
|w| |w| |w| |w| |w| |w| |w| |w| |w|
|_| |_| |_| |_| |_| |_| |_| |_| |_|
|-------------------------tomcat -------------------------|--------- nginx ----------|
|----------處理中-------------|----------排隊中-------------|---------排隊中------------|
|-------------------------server ------------------------| |--------- client ----------|
|------------------------處理中---------------------------| |-----------等待中-----------|
明確下「需求分析-指標分析」中相關業務功能所需基礎資料及資料量問題,因為那塊需求分析時可能
只是大致估算下,評估指標是否合理,需要認真再分析下
用例設計--系統業務特點和使用者行為分析
統計粒度建議1小時
業務分析統計方法
如無真實環境
用例設計--系統效能指標分析
事務平均響應時間--3,5,8秒(具體看實際情況而定)
用例設計--效能測試執行策略分析
混合業務測試
事務定義
場景監控物件先進行混合業務功能場景的測試,再考慮進行測試單業務功能場景的測試
負載測試 -> 壓力測試-> 穩定性測試-> 強度測試
逐步加壓
單點併發
壓力測試
穩定性測試
強度測試
各種指標--系統效能指標
vu(virtual user)
rt(response time)
fr(failure ratio)
90%響應時間
各種指標--硬體效能指標
可執行佇列 run queue(r),每個可執行佇列不應該有超過1-3個執行緒(每處理器,即每個核數),比如:雙處理器系統(單cpu的雙核系統)的可執行佇列裡不應該超過6個執行緒。
磁碟tps:nmon中的 diskxfer ,iostat中的tps(即為磁碟的 iops)
記憶體網路
各種指標--穩定性指標
tps曲線穩定,沒有大幅度的波動。
各項資源指標沒有洩露或異常情況。
各種指標--瓶頸,分析
推論二觀察硬體指標中哪個滿載,哪個就是瓶頸
如果所有資源都很空閒
系統效能表現應該與壓力相符
不正常的表現
相互換算
通過tps估算vu
例子系統的效能由tps決定,跟併發使用者數沒有多大關係。
系統的最大tps是一定的(在乙個範圍內),但併發使用者數不一定,可以調整。(與響應時間有關)
混合場景中如何實現各業務按指定比例執行?
日誌統計需要區分併發數與tps
用vu的比例來模擬tps的比例比較困難
可採用jmeter函式助手中的__counter
函式實現
用途比較原則
與上一版本的效能對比
本版本的穩定性
不同硬體的效能估算
cpu是瓶頸
io是瓶頸
記憶體統計學相關--曲線平穩
統計學相關--排隊論
spring aop 實戰篇 一
需求 通過spring aop 提供的面向切面程式設計的思想,利用自定義註解的方式,實現對介面的功能的增強 一 自定義乙個註解類 target 指明了修飾的這個註解的使用範圍,即被描述的註解可以用在 documented retention retentionpolicy.runtime targe...
(二)zookeeper實戰篇
a.安裝jdk b.安裝zookeeper 通過filezilla將zookeeper傳到linux下的 opt software下並chaos u x zookeeper 3.4.10.tar.gz 然後解壓到 opt module 下 c.修改配置 將 opt module zookeeper ...
多執行緒高階 實戰篇
百萬級資料批量插入我們應該是什麼樣的設計思路呢?1.首先我們需要考慮到的是乙個高併發的問題,那麼處理高併發同步鎖或者同步 塊是必不可少的。你可以使用synchronized或者reentranlock來進行 塊的鎖定。2.其次我們要使用到執行緒池,每個執行緒處理多少資料量。3.使用countdown...