2萬并發(fā)量用多少qps Redis服務(wù)支持5000萬的QPS,有什么好的思路?
Redis服務(wù)支持5000萬的QPS,有什么好的思路?如果有面試問你這個(gè)問題,工資應(yīng)該是20萬年,其他選擇分紅應(yīng)該支付。這個(gè)想法不是堆機(jī)器就是堆機(jī)器。你認(rèn)為要支持1w并發(fā)需要什么樣服務(wù)器配置?場景非常
Redis服務(wù)支持5000萬的QPS,有什么好的思路?
如果有面試問你這個(gè)問題,工資應(yīng)該是20萬年,其他選擇分紅應(yīng)該支付。這個(gè)想法不是堆機(jī)器就是堆機(jī)器。
你認(rèn)為要支持1w并發(fā)需要什么樣服務(wù)器配置?
場景非常重要,例如10000個(gè)并發(fā)QPS或TPS,這是一個(gè)完全不同的概念。
服務(wù)器優(yōu)化,現(xiàn)在通過epoll支持?jǐn)?shù)百萬個(gè)連接,100000個(gè)并發(fā)無瓶頸。但是,這只是網(wǎng)絡(luò)層。如果涉及到具體業(yè)務(wù),那就另當(dāng)別論了。例如,redis可以是并發(fā)的,因?yàn)橹恍枰W(wǎng)絡(luò)IO和內(nèi)存訪問。但如果你有業(yè)務(wù)處理,掛斷數(shù)據(jù)庫,去卡夫卡,再去redis,那你就得分析具體的問題。
在我們最初的基準(zhǔn)測試中,QPS可以支持大約60000到80000個(gè)事務(wù),但是事務(wù)的添加、刪除和修改絕對(duì)不是那么重要。
其實(shí)你需要的是一個(gè)基準(zhǔn)測試結(jié)果,比如TCP、HTTP基準(zhǔn)測試、Tomcat基準(zhǔn)測試、application framework基準(zhǔn)測試、redis基準(zhǔn)測試、MySQL基準(zhǔn)測試等
我們做了application framework基準(zhǔn)測試,基于springboot,測試接口沒有邏輯,直接查詢SQL返回結(jié)果即可。基準(zhǔn)測試結(jié)果是8核16g內(nèi)存,運(yùn)行兩個(gè)實(shí)例,最多可以并發(fā)8萬次,應(yīng)該有優(yōu)化的空間。
并發(fā)量和qps的區(qū)別?
并發(fā):系統(tǒng)同時(shí)處理的請(qǐng)求/事務(wù)數(shù)
OPS(TPS):每秒處理的請(qǐng)求/事務(wù)數(shù);
5000并發(fā)的qps是多少?
QPS是每秒的查詢數(shù),5000并發(fā)QPS是5000
PV是頁面視圖,頁面瀏覽量
每次訪問網(wǎng)站的每個(gè)頁面都會(huì)被記錄一次。用戶多次刷新同一頁面,訪問次數(shù)累加。
UV是唯一的訪問者
通過客戶端的cookies訪問。也就是說,對(duì)于同一個(gè)頁面,客戶端多次點(diǎn)擊只統(tǒng)計(jì)一次,訪問次數(shù)不累計(jì)。
IP是internet協(xié)議,最初指的是網(wǎng)絡(luò)協(xié)議。在數(shù)據(jù)統(tǒng)計(jì)中,是指通過IP的訪問量。
即同一頁面,客戶端多次使用同一IP訪問,只計(jì)算一次,訪問量不累計(jì)。
TPS是每秒事務(wù)數(shù)的縮寫,即每秒處理的事務(wù)數(shù)。事務(wù)是客戶機(jī)向服務(wù)器發(fā)送請(qǐng)求并由服務(wù)器響應(yīng)的過程??蛻舳嗽诎l(fā)送請(qǐng)求時(shí)開始計(jì)時(shí),在收到服務(wù)器的響應(yīng)后結(jié)束計(jì)時(shí),從而計(jì)算所用的時(shí)間和完成的事務(wù)數(shù),最后利用這些信息進(jìn)行評(píng)估打分。
QPS是每秒查詢數(shù)的縮寫,它可以處理每秒的查詢數(shù)。它是服務(wù)器每秒可以處理的查詢數(shù),是特定查詢服務(wù)器在指定時(shí)間內(nèi)處理的流量的度量。
RPS,requests per second的縮寫,是每秒可處理的請(qǐng)求數(shù)。在Internet上,通常用每秒查詢速率來衡量DNS服務(wù)器的性能,稱為QPS。
對(duì)應(yīng)于fetches/sec,即每秒的響應(yīng)請(qǐng)求數(shù),即最大吞吐量。
計(jì)算關(guān)系:
QPS=concurrency/average response time
concurrency=QPS*average response time
根據(jù)上面的計(jì)算關(guān)系,我們可以估算出需要多少Q(mào)PS來支持下一個(gè)單日1000W的流量:
一般80%的流量集中在20%的時(shí)間里,并計(jì)算機(jī)器實(shí)際需要多少Q(mào)PS來滿足1000W PV。
QPS=(1000W*0.8)/(24*3600*0.2)
QPS=462.9
根據(jù)壓力測試的反饋,可以利用以上結(jié)果計(jì)算單機(jī)的QPS,也可以粗略計(jì)算緩存配置。