您好,登錄后才能下訂單哦!
這篇文章主要介紹了如何實現(xiàn)Rocketmq拉取pull消息分頁數(shù)目測試,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一 機器部署
1、機器組成
7臺機器,均為16G內存
每臺服務器均有4個CPU,2核
2、運行環(huán)境配置
3、刷盤方式
每臺機器master機器均采用異步刷盤方式
二 性能評測
1、評測目的
測試pull消費模式,單次批量拉消息最大條數(shù)。
2、評測指標
批量拉取消息最大條數(shù)msgExtSize
自定義配置 最大拉取條數(shù) maxNums
3、評測邏輯
(1)先發(fā)送10000條消息,等待消息全部發(fā)送完畢,然后啟動consumer端消費消息。
(2)配置maxNums的值分別為 1、3、5、8、16、20、24、27、31、32、33、34、35、36、54、80、100,然后對比每次拉取消息的msgExtSize條數(shù)。
(3)記錄每次批量拉取消息的最大條數(shù),即可測試出批量拉消息最大條數(shù)。
(4)步驟3找出批量拉消息最大條數(shù)后,在這個數(shù)值前后再設置連續(xù)數(shù)字,進一步驗證此數(shù)值。
4、評測過程
(1)第一組:開啟20個線程,每個線程發(fā)送3000條數(shù)據(jù),總共向topic名稱為 “pullTest”發(fā)送60W條消息(消息量越多越好,consumer端消費速率很快,故發(fā)送消息的數(shù)據(jù)量越多越好,這樣以便于看出效果)。
消息發(fā)送如下:
設置maxNums=1的消費記錄,輸出的msgExtSize=1
設置maxNums=3的消費記錄,輸出的msgExtSize=2
設置maxNums=5的消費記錄,輸出的msgExtSize=4
設置maxNums=8的消費記錄,輸出的msgExtSize=7
設置maxNums=16的消費記錄,輸出的msgExtSize=15
設置maxNums=20的消費記錄,輸出的msgExtSize=19
設置maxNums=24的消費記錄,輸出的msgExtSize=23
設置maxNums=27的消費記錄,輸出的msgExtSize=26
設置maxNums=32的消費記錄,輸出的msgExtSize=31
設置maxNums=36的消費記錄,輸出的msgExtSize=32
設置maxNums=54的消費記錄,輸出的msgExtSize=32
設置maxNums=80的消費記錄,輸出的msgExtSize=32
設置maxNums=100的消費記錄,輸出的msgExtSize=32
分析以上各條件的測試數(shù)據(jù)可知: 批量拉消息最大條數(shù)的條數(shù)是32。
(2)第二組:在拉取消息的最大條數(shù) 前后的數(shù)字,細粒度的再次測試。
設置maxNums=33的消費記錄,輸出的msgExtSize=32
設置maxNums=34的消費記錄,輸出的msgExtSize=32
設置maxNums=35的消費記錄,輸出的msgExtSize=32
設置maxNums=31的消費記錄,輸出的msgExtSize=30
進一步分析測試數(shù)據(jù),批量拉消息最大條數(shù)的條數(shù)是32。
分析結果如下:
自定義最大拉取數(shù) (期望) | 批量拉消息最大條數(shù) (實際) |
1 | 1 |
3 | 2 |
5 | 4 |
8 | 7 |
16 | 15 |
20 | 19 |
24 | 23 |
27 | 26 |
31 | 30 |
32 | 31 |
33 | 32 |
34 | 32 |
35 | 32 |
36 | 32 |
54 | 32 |
80 | 32 |
100 | 32 |
二 評測結果
1、如下測試結論,基于消息存儲于內存的場景(而非消息存儲于磁盤的場景)。
在Pull消費場景下,令 maxA = 自定義最大拉取條數(shù), maxB=實際批量拉消息最大條數(shù), 則得出如下結論:
(1)若maxA = 1, 則maxB = 1
(2)若maxA <= 32, 則 maxB = maxA - 1
(3)若maxA > 32, 則maxB = 32
2、查閱RocketMQ配置文件,如果消息存儲于磁盤,則實際批量拉消息最大條數(shù)是為8(并非期望的數(shù)值32),奈何此種測試場景不太好重現(xiàn),暫未測試,留待后續(xù)進一步重現(xiàn)測試。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何實現(xiàn)Rocketmq拉取pull消息分頁數(shù)目測試”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。