qileilove

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

          一次中間件結合業務的性能測試

          開篇先扔一張圖,下圖是我本次測試對象的簡單架構圖:
            meeting
            先簡單介紹下整個流程吧,我們根據圖中畫的來說(下文中說到的節點之后會講):
            1、首先瀏覽器發出一個http請求至會管后臺
            2、會管收到請求后向zookeeper的一個節點(數據節點)中寫入消息(一般就是某種請求的消息)
            3、會議平臺watch到zookeeper中該節點數據變化便從中把這條消息取出,并進行處理。注意:異步消息(我們應用大部分是異步消息)
            4、平臺在取出zookeeper節點上的消息后會立即往zookeeper中的另外一個節點(數據節點)上寫入消息(該消息表示我平臺已經收到來自你會管的消息了)
            5、會管也會watch到這個節點的變化進而去讀取這個消息,然后將該消息放入xmpp服務器,由xmpp推送給瀏覽器(當然,其實這個消息并沒有什么實際意義)
            6、另外還有就是等平臺處理完一開始會管的請求消息后(3中的消息),會再次推送處理結果后的消息(比如某個人被靜音了,就會推送一串json數據,其中有標識說這個人被靜音了)到zookeeper的狀態節點(OK,先不要管他什么數據節點和狀態節點)
            7、然后會管watch到后讀取該數據并進行一系列封裝和處理
            8、數據處理和封裝完成后將數據放入xmpp服務器
            9、由xmpp服務器推送給瀏覽器,從而實現瀏覽器的實時狀態
            OK,說到這里,基本的架構以及流程說完了。現在,有一個任務就是,會議管理界面上的某個按鈕點擊之后,“實時狀態”感覺變化很慢。(比如我點擊全部靜音按鈕,頁面上與會人員的圖標會顯示出一個小圖標表示被靜音了,對,就是這個操作后,圖標很久才顯示出來,測試找出原因)
            如果交給各位讀者這樣的測試需求(當然,這個根本算不上需求,我就這么被忽悠了),讀者朋友們會怎么進行這項測試呢??
            好了,各位,下面我給出我本次測試中采用的方法(如果覺得有更好的,請留言聯系我?。?,先看圖:
          解決方案
            接下來我簡單介紹下我這個類似“框架”的東西吧。
            1、首先初始化一個線程池
            2、線程一:使用smack包登錄xmpp,監聽所有消息,并過濾出我此次測試中需要的消息
            3、線程二:使用httpclient來模擬http請求并接收響應,并提取響應中的某些重要數據
            4、線程三:使用zookeeper的java客戶端,連接我們的zookeeper服務器并設置節點的watcher
            5、線程四:收集前三個線程的數據,并附加時間戳
            只要將我們四個線程放入線程池中運行,即可。
            基本都已經介紹完了,如果有需要代碼的童鞋也可留言回復哦(注:本次測試腳本有效代碼量在2K行左右)~

          posted on 2014-01-24 16:15 順其自然EVO 閱讀(293) 評論(0)  編輯  收藏 所屬分類: 性能測試

          <2014年1月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 兴仁县| 镇沅| 信阳市| 宝清县| 定兴县| 永城市| 沾益县| 台中市| 五峰| 资中县| 泽库县| 辉南县| 和龙市| 宁德市| 佛冈县| 和静县| 松江区| 东山县| 西峡县| 建德市| 汉寿县| 衡阳县| 辰溪县| 闵行区| 虎林市| 苗栗县| 义马市| 乌拉特前旗| 营山县| 克什克腾旗| 香河县| 永寿县| 张家界市| 保亭| 应城市| 措美县| 巴彦县| 阳谷县| 改则县| 甘谷县| 阳高县|