一次中間件結(jié)合業(yè)務(wù)的性能測(cè)試
開篇先扔一張圖,下圖是我本次測(cè)試對(duì)象的簡(jiǎn)單架構(gòu)圖:
meeting
先簡(jiǎn)單介紹下整個(gè)流程吧,我們根據(jù)圖中畫的來說(下文中說到的節(jié)點(diǎn)之后會(huì)講):
1、首先瀏覽器發(fā)出一個(gè)http請(qǐng)求至?xí)芎笈_(tái)
2、會(huì)管收到請(qǐng)求后向zookeeper的一個(gè)節(jié)點(diǎn)(數(shù)據(jù)節(jié)點(diǎn))中寫入消息(一般就是某種請(qǐng)求的消息)
3、會(huì)議平臺(tái)watch到zookeeper中該節(jié)點(diǎn)數(shù)據(jù)變化便從中把這條消息取出,并進(jìn)行處理。注意:異步消息(我們應(yīng)用大部分是異步消息)
4、平臺(tái)在取出zookeeper節(jié)點(diǎn)上的消息后會(huì)立即往zookeeper中的另外一個(gè)節(jié)點(diǎn)(數(shù)據(jù)節(jié)點(diǎn))上寫入消息(該消息表示我平臺(tái)已經(jīng)收到來自你會(huì)管的消息了)
5、會(huì)管也會(huì)watch到這個(gè)節(jié)點(diǎn)的變化進(jìn)而去讀取這個(gè)消息,然后將該消息放入xmpp服務(wù)器,由xmpp推送給瀏覽器(當(dāng)然,其實(shí)這個(gè)消息并沒有什么實(shí)際意義)
6、另外還有就是等平臺(tái)處理完一開始會(huì)管的請(qǐng)求消息后(3中的消息),會(huì)再次推送處理結(jié)果后的消息(比如某個(gè)人被靜音了,就會(huì)推送一串json數(shù)據(jù),其中有標(biāo)識(shí)說這個(gè)人被靜音了)到zookeeper的狀態(tài)節(jié)點(diǎn)(OK,先不要管他什么數(shù)據(jù)節(jié)點(diǎn)和狀態(tài)節(jié)點(diǎn))
7、然后會(huì)管watch到后讀取該數(shù)據(jù)并進(jìn)行一系列封裝和處理
8、數(shù)據(jù)處理和封裝完成后將數(shù)據(jù)放入xmpp服務(wù)器
9、由xmpp服務(wù)器推送給瀏覽器,從而實(shí)現(xiàn)瀏覽器的實(shí)時(shí)狀態(tài)
OK,說到這里,基本的架構(gòu)以及流程說完了。現(xiàn)在,有一個(gè)任務(wù)就是,會(huì)議管理界面上的某個(gè)按鈕點(diǎn)擊之后,“實(shí)時(shí)狀態(tài)”感覺變化很慢。(比如我點(diǎn)擊全部靜音按鈕,頁面上與會(huì)人員的圖標(biāo)會(huì)顯示出一個(gè)小圖標(biāo)表示被靜音了,對(duì),就是這個(gè)操作后,圖標(biāo)很久才顯示出來,測(cè)試找出原因)
如果交給各位讀者這樣的測(cè)試需求(當(dāng)然,這個(gè)根本算不上需求,我就這么被忽悠了),讀者朋友們會(huì)怎么進(jìn)行這項(xiàng)測(cè)試呢??
好了,各位,下面我給出我本次測(cè)試中采用的方法(如果覺得有更好的,請(qǐng)留言聯(lián)系我!),先看圖:
posted on 2014-01-24 16:15 順其自然EVO 閱讀(293) 評(píng)論(0) 編輯 收藏 所屬分類: 性能測(cè)試