<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)

    個人收藏

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲不卡AV影片在线播放| 国产精品99久久免费| 亚洲∧v久久久无码精品| 国产免费一级高清淫曰本片| 亚洲国产主播精品极品网红| 污网站在线观看免费| 亚洲中文字幕无码专区| 九九久久国产精品免费热6 | 国产一级婬片A视频免费观看| 亚洲中文无韩国r级电影| 成人久久久观看免费毛片| 国产L精品国产亚洲区久久| 国产一区二区三区免费观在线| 亚洲精品乱码久久久久久按摩 | 亚洲中文字幕无码av永久| 日本一区免费电影| 香蕉视频免费在线播放| 久久99亚洲综合精品首页 | 亚洲天天在线日亚洲洲精| 99re在线精品视频免费| 亚洲国产成人精品无码区在线秒播 | 免费高清在线影片一区| 亚洲a∨国产av综合av下载 | 蜜臀98精品国产免费观看| 亚洲一区二区三区在线网站| 精品少妇人妻AV免费久久洗澡 | 亚洲性69影院在线观看| 日韩a级毛片免费观看| jizz免费观看视频| 亚洲一区免费观看| 午夜毛片不卡高清免费| 一区二区三区免费看| 日木av无码专区亚洲av毛片| 好大好硬好爽免费视频| av午夜福利一片免费看久久| 亚洲美女视频一区二区三区| 免费无码又爽又刺激高潮的视频| 精品免费久久久久国产一区| 亚洲一区二区免费视频| 久久久久亚洲AV成人网| 皇色在线视频免费网站|