篩查分析
普及:JMQ 默認(rèn)生產(chǎn)者發(fā)送消息 QPS 受到主題的 broker 數(shù)量影響,(8w/s)/broker
3.2.1 MQ 積壓分析
1)分析原因一、ES 寫入量大,導(dǎo)致 ES 寫入 QPS 瓶頸
ES 寫入瓶頸需要進(jìn)行壓測(cè),才能確定實(shí)際是否達(dá)到瓶頸;
通過(guò)查詢集群負(fù)載,寫入隊(duì)列有無(wú)積壓,cpu 高不高,來(lái)定位
以下為調(diào)整 MQ 批量消費(fèi)大小后的 ES 監(jiān)控
寫入隊(duì)列無(wú)積壓,CPU 不高,寫入 QPS 沒(méi)有達(dá)到瓶頸
2)分析原因二、ES 寫入慢導(dǎo)致消費(fèi)積壓
ES 解析服務(wù)解析慢,瓶頸在 ES 解析處
根據(jù)當(dāng)前系統(tǒng) CPU、負(fù)載信息定位是否服務(wù)器性能滿負(fù)荷,是否擴(kuò)容
無(wú)報(bào)警信息,整體運(yùn)行平穩(wěn),基本排除業(yè)務(wù)資源達(dá)到瓶頸問(wèn)題引起寫入慢
MQ 消費(fèi)端消費(fèi)慢,瓶頸在消費(fèi)并發(fā)處
當(dāng)前主題分片數(shù) 3,隊(duì)列數(shù)為 15,默認(rèn)最大并發(fā)數(shù)為 15*10,報(bào)警當(dāng)時(shí)入隊(duì)數(shù) 500~700/s
定位問(wèn)題,為 MQ 消費(fèi)慢,其根本原因?yàn)槭艿?ES-Parse 業(yè)務(wù)系統(tǒng)處理速度影響
3.3 臨時(shí)處理方案
開(kāi)啟 mq 并行消費(fèi)策略,寫入 QPS 顯著增加
4 如何提升消費(fèi)速率,提升寫入 ES 速率
造成問(wèn)題原因核心點(diǎn)是 MQ 積壓,業(yè)務(wù)系統(tǒng)消費(fèi)慢,MQ 入隊(duì)數(shù)大于出隊(duì)數(shù),導(dǎo)致積壓
4.1 原理分析
4.1.1 存儲(chǔ)流程解析
第一步:binlake 訂閱 mysql binlog
第二步:發(fā) MQ,JMQ 數(shù)據(jù)傳輸
第三步:消費(fèi) JMQ 數(shù)據(jù),ES Paser 數(shù)據(jù)解析,
第四步:數(shù)據(jù)存儲(chǔ)
4.1.2 binlake 基本原理
4.1.3 binlake 發(fā)送 MQ 過(guò)程
4.1.4 JMQ 消費(fèi)原理
JMQ 消費(fèi)默認(rèn)就是批量消費(fèi)
消費(fèi)原理如下圖
批量消費(fèi)與并行消費(fèi)原理如下圖
通過(guò)分析,在未開(kāi)啟并行消費(fèi)前提下,當(dāng)前主題最大處并發(fā)的消費(fèi)處理能力
即是隊(duì)列數(shù)
4.2 提升消費(fèi)速率的幾種方案
4.2.1MQ 增加消費(fèi)速度方法
擴(kuò)容,增加并發(fā)消費(fèi)能力
針對(duì) MQ 默認(rèn)情況下,一切擴(kuò)容都能解決問(wèn)題,增大分片數(shù),增加隊(duì)列數(shù)
需要額外資源,申請(qǐng)擴(kuò)容新的 broker,同時(shí)考慮增加消費(fèi)端實(shí)例
增加批量大小
首先保證,業(yè)務(wù)系統(tǒng) (ES-Parse) 消費(fèi) MQ 消息,處理 10 條和處理 100 條速度基本一樣
實(shí)踐:國(guó)際財(cái)務(wù)針對(duì)此方法進(jìn)行代碼邏輯改造
開(kāi)啟并行數(shù)
理論上增加(并行數(shù) / 批量數(shù))的倍數(shù)并發(fā)處理能力
要求數(shù)據(jù)無(wú)序,針對(duì)亂序,數(shù)據(jù)存儲(chǔ),不影響業(yè)務(wù)
4.2.2 并行有序的方案
1)實(shí)現(xiàn)數(shù)據(jù)冪等性,增加緩存,并行消費(fèi)策略
方案流程文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-410708.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-410708.html
到了這里,關(guān)于ES 寫入瓶頸需要進(jìn)行壓測(cè),才能確定實(shí)際是否達(dá)到瓶頸的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!