<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    軟件性能的生命周期

      影響軟件性能的要素有很多,在需求階段就應該對軟件性能進行分析,在設計階段要充分考慮軟件架構設計對性能的影響,在測試階段要充分驗證軟件的性能表現是否滿足需求。

      一、需求階段的性能分析

      從業務角度分析,如果一個系統上線后使用人數比較多,而且后期數據量比較大(如電信、金融證券等對外開放的系統),就有必要做好性能測試,因為這些系統對于實時性交互要求比較高,對系統的響應時間、并發用戶數等要求都比較高,并且從數據角度分析,系統上線幾年后存量數據一般都是千萬級數據量,因此前期性能設計與驗證對業務系統的后期正常運行維護至關重要。

      在軟件開發前期的需求分析階段,需求分析師與客戶業務人員溝通時,要明確提出各項性能指標,包括系統業務交易的使用頻度、系統并發用戶量、業務數據量評估等各項指標。然后對系統的響應時間、用戶數和資源使用進行分析。

      1、響應時間分析

      響應時間的需求調研分析,例如查詢類的交易需要在多少秒之內響應,對于URL連接或者刷新整個網頁的時間,它是一個非常重要的度量值,因為它是直接體現用戶體驗的一個指數。

      它同時也是最不容易測量的度量值,因為它比其他的度量值更容易發生變化。我們需要了解響應時間的區域分布。例如:一般月底是發工資的時候,查詢當前賬戶額度是用戶這段時間最常用的功能,這段時間的系統響應時間估計比平常響應時間慢些,而對于電信之類的報表查詢,省內公司查詢當月本省各個分公司、分點的銷售額情況,總公司查詢全國各省的總銷售額情況,這時數量級別相差甚大,查詢時響應時間也相對比較慢。這些情況對于指導服務器分布、負載均衡、數據庫的設計都非常重要。

      2、用戶數分析

      用戶數分析,主要分析評估系統上線后的總用戶數、平均每天在線用戶數等情況,具體可分析:哪些交易每天都有用戶在執行業務交易,這些用戶一般占系統總人數的比例是多少;哪些交易會在月底、季末或者年底高頻率并發使用;哪些交易用戶使用得比較少,但卻是相關重要人物(如上級領導)重點關注的交易。這些用戶數分析結果,可為后續的性能測試設計中,針對混合場景的用戶數配比設計提供有力的參考依據。

      3、資源使用分析

      資源使用分析用于衡量系統資源使用率的情況,反映系統的最底層性能情況,對于容量規劃比較有指導作用,同時它也是比較容易理解的性能度量值。

      二、設計開發階段的性能分析與驗證

      大部分項目的性能問題是設計出來的,而不是開發和測試出來的。要獲得性能良好的軟件系統,需要根據需求分析及設計規劃,進行系統的規模分析和完整的性能分析,預估性能瓶頸點,提出解決方案,最后通過架構師、程序設計人員等角色進行評審驗證并確認,保障性能目標的達成。

      在代碼開發階段,需要根據設計方案,在開發過程中關注性能瓶頸點,進行相應的白盒測試,通過代碼分析和評審等手段,確認性能瓶頸并解決。需要不斷地分析和總結性能問題和解決方案,形成性能方面的代碼編寫規范,從而在研發階段的早期就能確保把軟件系統在性能方面的風險降到最低。

      系統設計與代碼實現的很多細節都會對軟件系統性能起到關鍵的作用。例如,在數據查詢界面設計時,需要考慮查詢方式是模糊查詢還是精確查詢、如何設計查詢分頁展現、對象的創建以及釋放問題等。

      在采用具體實現技術時,也需要注意性能細節,例如 Hibernate 中對大數據量查詢時,需慎用 list() 或者 iterator() 遍歷返回查詢結果。

      在采用Java等托管語言開發軟件系統時,需要注意對象的生成和對象大小問題,否則容易導致產生大量對象實例,系統不僅要花時間生成對象,還可能要花時間對這些對象進行垃圾回收和處理,生成過多的對象將會對程序的性能帶來很大的影響。

      在數據庫設計上也有很多細節會對后期系統性能表現有決定性的影響,例如:對歷史查詢是否分區、如何分區性能更好;如何設計批量數據抽取轉換的方式,以保證減少或消除等待;如何設計索引,減少全表掃描、提高SQL查詢效率;編寫良好的SQL語句以便提高重用率、減少數據庫解析。

      三、統測試階段的性能驗證與優化

      性能問題越早發現、修改,越能保證系統上線后的穩定性,因此應該在軟件生命周期的不同階段進行軟件性能測試。

      性能測試大致可以分為單元性能測試、集成性能測試、系統性能測試、多套系統互聯接口性能測試等。其中,對一套系統進行的系統性能測試,也就是在特定的環境下、一定量的數據情況下,進行的系統級的性能測試,是最常用的,也是最為測試人員所熟悉的一種性能測試。

      系統性能測試階段的一般測試過程如下:在系統功能被確認后,模擬真實生產環境進行軟件系統的部署(包括硬件設備、操作系統、網絡搭建、負載均衡部署、中間件部署、數據庫部署等),然后再根據前期的性能測試需求分析結果及測試策略定義的方法,模擬一定量的虛擬并發用戶數,進行壓力測試,同時監控分析系統是否滿足預期的性能指標,識別性能可能出現的瓶頸點(應用代碼、網絡設備、硬件設備、操作系統、中間件配置、數據庫等),并進行性能優化處理,調優后再進行復測,確保軟件系統最終達到性能要求。

    posted on 2012-06-26 09:49 順其自然EVO 閱讀(316) 評論(0)  編輯  收藏 所屬分類: 性能測試

    <2012年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 青娱乐免费视频在线观看| 久久免费公开视频| 日韩免费视频观看| 亚洲人成电影网站久久| 色婷婷7777免费视频在线观看| 亚洲av福利无码无一区二区 | 日本系列1页亚洲系列| 在线jyzzjyzz免费视频| 亚洲砖码砖专无区2023| 在线播放免费人成视频在线观看| 亚洲精品美女网站| 国产色爽女小说免费看| 日韩大片在线永久免费观看网站| 亚洲综合色视频在线观看| 中文在线免费不卡视频| 亚洲专区先锋影音| 中文字幕av无码无卡免费| 国产精品亚洲专区在线观看| 免费无码又爽又高潮视频| 四虎一区二区成人免费影院网址 | 一区二区三区精品高清视频免费在线播放 | 国产精品亚洲一区二区在线观看| 免费看国产一级特黄aa大片| 成人精品综合免费视频| 亚洲第一AAAAA片| 免费观看AV片在线播放| 久久久久亚洲国产AV麻豆| 久久久精品国产亚洲成人满18免费网站| 成全高清在线观看免费| 亚洲人成在线免费观看| 四虎成人精品在永久免费| 你是我的城池营垒免费看| 亚洲国产精品午夜电影| 免费人成网站在线播放| 久久免费视频精品| 亚洲精品av无码喷奶水糖心| 国产亚洲精aa成人网站| 免费可以看黄的视频s色| 五月婷婷免费视频| 亚洲伊人久久大香线焦| 亚洲中文字幕无码爆乳av中文|