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

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

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

    聶永的博客

    記錄工作/學習的點點滴滴。

    Tsung筆記之開篇

    前言

    有測試驅動的開發模式,目的在于確保業務層面功能是準確的,每一次新增、修改等動作確保都不會影響到現有功能。功能開發完成了,需要部署到線上,系統能夠承載多大的用戶量呢,這時候就需要借助于性能壓測,也稱之為壓力測試,界定系統能夠承載具體容量上限,從容應對業務的運營需要,擴容或縮容,心中有底。

    工欲善其事,必先利其器。掌握一種壓測工具,并切實應用到實踐環境中,并以此不斷迭代,壓力測試驅動推動所開發后端應用處理性能逐漸完善。

    目前成熟的支持支持TCP、HTTP等連接通道的壓測工具不少,以前接觸過Apache JMeter,后面又接觸過Tsung,因為在實際環境下使用比較多,支持豐富的業務場景定義,并且可擴展性強,因此Tsung強力推薦之。

    為什么要選擇Tsung

    • 基于Erlang,并發處理性能好,可以模擬足夠多海量用戶,只要你有足夠多的機器
    • 受益于Erlang,天然支持分布式,很歡快的運行在一個集群中
    • 支持協議眾多 WebDAV/WebScoket/MQTT/MySQL/PGSQL/Shell/AQMP/JABBER/XMPP/LDAP 等
    • 傳輸通道支持 TCP/UDP/SSL,更底層支持IPv4/IPv6
    • 支持單機綁定多個IP:無論是虛擬IP,還是物理網卡綁定IP,可以突破單機端口65535的限制,擴展盡可能多的網絡連接出口地址
    • 支持監控被壓測的服務器,通過Erlang Agent/SNMP/Munin
    • 壓測細節XML可配置,這是一個完全基于情景的壓力測試行為清單,依賴于你的想象,呈現完整業務的表達
      • 場景可以是動態的,來自于文件、代碼或者服務器響應可以構成下一個請求的參數,這就是可編程的請求嘛
      • 行為可以混搭,回話可以在不同場景中,按照不同的行為規范各自平行進行
      • 休眠,或暫停機制,是可以隨機的,親
      • 壓測用戶產生方式,動態有序或隨機

    總之,Tsung是一款開源的高性能分布式壓力測試工具,支持可編程的情景化測試方案,要向發揮它的特性,依賴于人們的想象力和創造性。

    為什么要壓力測試驅動呢 ?

    軟件/系統架構往往著眼于總體結構,這個可以是一個逐漸完善的過程。這種自我的不斷完善的驅動往往來自于實踐、線上考驗。而壓力測試可以提供一種推動,盡心盡力暴露著架構在性能容量存在的一些不足和缺陷,促使著向著更好的方向發展。

    系統的構建依賴于具體參與執行的人,就算是一群資深的工程師,業務上每一次功能的快速更迭、任何潛在局部修改都會導致影響、拖垮整體性能,這就是人們常說的 ”蝴蝶效應“,牽一發而動全身。

    如何提早感知并且提早修復,這就需要壓力測試的驅動,并且壓力測試應該成為一個常規化的例行行為,日常化的動作。在每一次修改之后,都要過一輪的壓測的碾壓之后,提供當前后端應用處理的性能、容量等具體指標,用于指導后續業務上線業務的開展。

    實際操作上的建議

    在一般互聯網公司,一般線上程序修改后之后,需要經過QA團隊/部門全部功能回歸、校驗之后才能夠上線,往往缺少壓測環節,因為他/她們并不保證系統處理性能和容量是否惡化,系統的性能建立在系統總體的功能上,如何避免在性能上出現”牽一發而動全身“,建議有條件的QA同學/團隊考慮增加性能壓測環節,功能 + 性能雙重回歸,修改影響點清晰、透明化。

    筆記列表

    本系列筆記,基于tsung-1.6.0源碼基礎上分析,運行環境為Linux Centos 6。

    筆記列表:

    1. Tsung筆記之主從模型篇
    2. Tsung筆記之主從資源協調篇
    3. Tsung筆記之壓測端資源限制篇
    4. Tsung筆記之分布式增強跳出SSH羈絆篇
    5. Tsung筆記之IP直連支持篇
    6. Tsung筆記之監控數據收集篇
    7. Tsung筆記之插件編寫篇
    8. Tsung筆記之100萬用戶壓測執行步驟篇
    9. Tsung筆記之IP地址和端口限制突破篇

    為了方便理解,一些用詞說明:

    • 主節點,也稱之為Master Node,指的是運行tsung_controller的應用服務實例,運行tsung啟動應用自動產生“tsung_controller@機器名/IP”節點名稱,一般使用過Erlang的同學會很明白
    • 從節點,即tsung client應用實例,對應 tsung/src/tsung 項目代碼,由tsung_controller主節點控制啟動、關閉、任務分配等

    小結

    參與一個實時性交互強的項目,從一開始單機支撐不夠1萬用戶、平均請求響應時間約900毫秒,到目前混合部署的單機支撐50萬用戶、平均響應時間為16毫秒,這個過程中Tsung不斷的壓測推動著架構逐漸穩定、系統承載容量、QPS優化等完全達標。這是一個壓力測試驅動性能改進的流程,每一步的改進能夠得到正向反饋。

    這一系列筆記,所談核心是Tsung,無論是認知還是改進,最終都是為了理解利器的方方面面,方便著手于實踐環境中,壓測所帶來的能量能夠驅動我們的程序/服務性能提升、穩定運行,進而更好方便我們進行容量規劃、線上部署等。

    posted on 2016-07-22 15:36 nieyong 閱讀(5544) 評論(1)  編輯  收藏 所屬分類: 壓測

    評論

    # re: Tsung筆記之開篇 2016-08-04 17:33 盧松松博客

    不是碼農,覺得太好了  回復  更多評論   

    公告

    所有文章皆為原創,若轉載請標明出處,謝謝~

    新浪微博,歡迎關注:

    導航

    <2016年7月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    統計

    常用鏈接

    留言簿(58)

    隨筆分類(130)

    隨筆檔案(151)

    個人收藏

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲免费无码在线| 亚洲精华国产精华精华液网站| 黄色一级毛片免费| 国产精品自在自线免费观看| 亚洲人成网站免费播放| 精品国产免费观看久久久| 亚洲爆乳AAA无码专区| 国产免费牲交视频| 人人爽人人爽人人片A免费 | 国产亚洲玖玖玖在线观看| 成人免费视频网站www| 亚洲日韩看片无码电影| 午夜视频免费观看| 极品美女一级毛片免费| 亚洲精品成人区在线观看| 你懂得的在线观看免费视频| 亚洲AV日韩AV天堂久久| 久草视频在线免费| 在线观看亚洲视频| 亚洲中文字幕无码爆乳AV| 国产精品99久久免费观看| 亚洲午夜国产精品无卡| 国产一区二区免费在线| 日本一区午夜艳熟免费| 亚洲日韩乱码中文无码蜜桃臀| 女人张开腿给人桶免费视频| 五级黄18以上免费看| 亚洲高清不卡视频| 国产精品美女自在线观看免费| 成人国产精品免费视频| 亚洲精品福利网站| 免费一级毛片在线观看| 污污网站18禁在线永久免费观看| 亚洲人成综合网站7777香蕉| 亚洲午夜精品久久久久久浪潮| 日韩精品人妻系列无码专区免费 | 免费福利网站在线观看| 黄人成a动漫片免费网站| 亚洲视频手机在线| 免费在线黄色网址| 最近免费视频中文字幕大全|