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

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

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

    posts - 97,  comments - 5,  trackbacks - 0
    @import url(http://www.tkk7.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

    半桶水談性能測試   《轉(zhuǎn)載》

     首先在我的職業(yè)生涯中,做性能測試的機(jī)會不多,發(fā)現(xiàn)性能瓶頸的次數(shù)更少,確切的說只有2次。隨著大型分布式系統(tǒng),特別是Web App云計(jì)算的推廣,性能測試的需求會更加迫切。今天我這個(gè)半桶水就來談?wù)勑阅軠y試的話題,歡迎大家一起來討論。 

      什么是性能測試?

      性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試。

      負(fù)載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進(jìn)行。

      通過負(fù)載測試,確定在各種工作負(fù)載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負(fù)載逐漸增加時(shí),系統(tǒng)各項(xiàng)性能指標(biāo)的變化情況。

      壓力測試是通過確定一個(gè)系統(tǒng)的瓶頸或者不能接收的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。

      中國軟件評測中心將性能測試概括為三個(gè)方面:應(yīng)用在客戶端性能的測試、應(yīng)用在網(wǎng)絡(luò)上性能的測試和應(yīng)用在服務(wù)器端性能的測試。

      通常情況下,三方面有效、合理的結(jié)合,可以達(dá)到對系統(tǒng)性能全面的分析和瓶頸的預(yù)測。

      注意這里提到了三個(gè)方面,但平常我們往往注意力集中在服務(wù)端的性能而忽略了客戶端和網(wǎng)絡(luò)的性能。

      下面是我這個(gè)半桶水來談?wù)勔恍w會:

      一、目的/需求

      為什么需要做性能測試或此次做性能測試的目的是什么?

      1、新項(xiàng)目/產(chǎn)品,首次發(fā)布,需要做基準(zhǔn)測試

      2、使用中的產(chǎn)品,重構(gòu)了某個(gè)模塊/某個(gè)模塊使用了新的技術(shù),需要一個(gè)評估

      3、使用中的產(chǎn)品,用戶量爆發(fā)了,用戶量從百萬級增加到千萬級

      4、增加了一個(gè)或多個(gè)頁面,需要對頁面的Latency進(jìn)行一次測試

      在測試開始前,需要有準(zhǔn)備工作,對此次性能測試的目的做詳細(xì)了解,確定需要收集哪些數(shù)據(jù),關(guān)注哪些性能指標(biāo)。

      二、環(huán)境部署

      性能測試需要一個(gè)干凈的環(huán)境,這個(gè)環(huán)境包括硬件、網(wǎng)絡(luò)、操作系統(tǒng)、被測試的系統(tǒng),數(shù)據(jù)庫

      那在開始前,需要把這個(gè)環(huán)境部署準(zhǔn)備好,最好是能模擬線上的系統(tǒng),同時(shí)這也是一個(gè)排除干擾的過程,畫出一張架構(gòu)圖。

      1、硬件,使用怎樣的服務(wù)器,理想情況是和生產(chǎn)環(huán)境一樣的服務(wù)器,需要配置負(fù)載均衡么

      2、網(wǎng)絡(luò), 是否需要模擬各種網(wǎng)絡(luò),是否需要雙網(wǎng)卡,內(nèi)部網(wǎng)絡(luò)是否會影響到其他員工正常使用

      3、操作系統(tǒng),windows/linux,是采用默認(rèn)設(shè)置還是已經(jīng)有參考的設(shè)置,哪些操作系統(tǒng)的服務(wù)需要關(guān)閉,linux中的ulimit如何設(shè)置

      4、被測試系統(tǒng),邀請架構(gòu)師的參與,系統(tǒng)使用怎么樣的架構(gòu),是否使用了Web Server——IIS/Apache/Tomat,他們的最優(yōu)配置是怎么樣的

      5、數(shù)據(jù)庫,站內(nèi)搜索數(shù)據(jù)庫是否和訂單數(shù)據(jù)庫分開,數(shù)據(jù)庫是否有緩存,數(shù)據(jù)庫是否使用主從式

      三、場景和負(fù)載模式

      此次性能測試需要模擬怎樣的場景:

      1、購物網(wǎng)站秒殺活動,使用恒負(fù)載模式,設(shè)定集合點(diǎn),用戶并發(fā)

      2、系統(tǒng)正常的使用,從每天的監(jiān)控系統(tǒng)中分析,例如看到購物高峰是中午,使用單步負(fù)載模式(Ram-up/down),每間隔時(shí)間內(nèi)用戶增加多少,到購物高峰時(shí)間是恒負(fù)載,過了高峰后用戶開始減少

      3、系統(tǒng)改版,使用基于目標(biāo)的負(fù)載模式,根據(jù)歷史數(shù)據(jù)設(shè)定目標(biāo),或例如設(shè)定CPU/Memory最大到85%

      確定好了場景和負(fù)載模式,才能正確的生成用例/腳本。

      四、性能指標(biāo)

      此次性能測試需要收集哪些性能指標(biāo)和數(shù)據(jù):

      1CPU使用率

      2Memory使用率

      3QPS

      4、響應(yīng)時(shí)間

      5、網(wǎng)絡(luò)IO

      6、文件IO

      7、數(shù)據(jù)庫IO

      8、最大支持用戶數(shù)

      以上指標(biāo)并不是都要收集,要根據(jù)具體的場景來決定。

      五、性能測試工具

      提到性能測試,很多測試人的第一概念就是工具,比如商業(yè)流行的Loadrunner,開源流行的Jmeter,但是很少人注重上面提到的四點(diǎn), 所謂磨刀不誤砍材工,沒有上面的設(shè)計(jì)分析,僅僅使用工具跑出結(jié)果是無法分析出性能的瓶頸,不可靠的數(shù)據(jù)結(jié)果會大大增加排查工作,這些數(shù)據(jù)往往會受到很 多質(zhì)疑。

      工具的使用:

      參數(shù)化

      Loadrunner選擇哪個(gè)協(xié)議

      Loadrunner的關(guān)聯(lián)

      LoadrunnerController/Agent

      JmeterRemote testing

      工具的使用技能僅僅是性能測試?yán)锏囊恍〔糠郑胁豢芍魂P(guān)注工具使用。

      是否每次的性能測試都需要用上大型的工具呢,某個(gè)頁面的響應(yīng)時(shí)間是否可以使用其他輕量的工具,例如一些瀏覽器插件HttpwatchYahoo YSlowGoogle speed tracer

      是否可以自己寫些有針對性的小工具,根據(jù)實(shí)際情況定義出真實(shí)的Page load time,而不僅僅是服務(wù)器的響應(yīng)時(shí)間。

      六、數(shù)據(jù)收集與分析

      性能測試的最終目的是通過數(shù)據(jù)收集分析出系統(tǒng)是否存在瓶頸,所以數(shù)據(jù)收集和分析是一個(gè)很重要的過程。

      分析的過程需要團(tuán)隊(duì)成員的參與,例如架構(gòu)師、DBA、開發(fā)人員,是一個(gè)長期的過程,通過調(diào)整測試腳本,生成不同的數(shù)據(jù)對比。

      七、我所發(fā)現(xiàn)的2次問題

      1、雙網(wǎng)卡問題,一個(gè)新改版的項(xiàng)目,上線后在峰值的時(shí)候總有機(jī)器崩潰或性能大幅下降,最后發(fā)現(xiàn)是服務(wù)器只使用了單網(wǎng)卡,這個(gè)明顯就是上面提到的排除干擾沒做好(配置沒有檢查),這次性能測試是失敗的。

      2、子進(jìn)程崩潰,64位系統(tǒng)基準(zhǔn)測試,通過與團(tuán)隊(duì)成員的不斷溝通,排除各種設(shè)置干擾、確定硬件和軟件配置、加入profile工具,與32位系統(tǒng)的對比。

      八、后續(xù)優(yōu)化

      性能測試僅僅是個(gè)開始,性能測試最終目的是發(fā)現(xiàn)和解決系統(tǒng)的瓶頸,這就涉及到優(yōu)化,而優(yōu)化的過程往往在系統(tǒng)設(shè)計(jì)階段就需要考慮。

      1、異步獲取數(shù)據(jù)

      2、建立緩存

      3、分布式

      4、文件分解

      九、推薦

      1、基于用戶體驗(yàn)的性能測試,User Experience, Not Metrics

      更貼近用戶使用場景的性能測試,里面使用的工具主要是IBMRational TestStudio

      http://www.cnblogs.com/mayingbao/archive/2008/04/11/1148510.html

      2、軟件性能測試過程詳解與案例剖析(第二版)

      3、要做好性能測試,該掌握些什么?

      http://www.51testing.com/html/23/n-92923.html
      http://www.51testing.com/html/93/category-catid-93.html



    天貓 軟件自動化測試開發(fā)

    posted on 2013-09-26 09:41 zouhui 閱讀(197) 評論(0)  編輯  收藏 所屬分類: 2.軟件測試 性能自動化
    <2013年9月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    常用鏈接

    留言簿(2)

    隨筆分類(94)

    隨筆檔案(94)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产成人在线视频| 亚洲成人免费在线| 亚洲第一二三四区| 国产亚洲欧洲Aⅴ综合一区| 97无码免费人妻超级碰碰碰碰| 一级毛片在线免费观看| 又大又硬又粗又黄的视频免费看| 亚洲最大中文字幕无码网站| 亚洲欧洲一区二区| 亚洲人成人一区二区三区| 免费a级毛片无码a∨性按摩| 99精品全国免费观看视频| 久九九精品免费视频| 91精品全国免费观看含羞草| 99免费精品视频| 中文字幕在线免费视频| 深夜久久AAAAA级毛片免费看| 国产精品亚洲综合一区在线观看 | 国产精品青草视频免费播放| 亚洲欧美日韩中文高清www777| 亚洲欧洲日韩综合| 亚洲色欲色欲综合网站| 无码欧精品亚洲日韩一区| 亚洲区小说区图片区QVOD| 亚洲熟女一区二区三区| 国产亚洲一区二区三区在线不卡| 亚洲Av无码乱码在线观看性色| 日韩免费高清视频| 在线免费观看韩国a视频| 日本免费一区尤物| 日本免费的一级v一片| 免费看小12萝裸体视频国产| 免费观看四虎精品国产永久| 免费一级特黄特色大片在线| 免费又黄又爽又猛的毛片| 亚洲AⅤ视频一区二区三区| 91麻豆国产自产在线观看亚洲| 国产国拍精品亚洲AV片| 亚洲熟妇无码乱子AV电影| 亚洲国产精品久久久久| 亚洲综合图片小说区热久久|