tps 数据库写并发衡量_硬核干货!抗住百万高并发的 6 个关键技术!
一、什么是高并發(fā)
高并發(fā)(High Concurrency)是互聯(lián)網(wǎng)分布式系統(tǒng)架構(gòu)設(shè)計(jì)中必須考慮的因素之一,它通常是指,通過設(shè)計(jì)保證系統(tǒng)能夠同時(shí)并行處理很多請(qǐng)求。
高并發(fā)相關(guān)常用的一些指標(biāo)有響應(yīng)時(shí)間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Query Per Second),每秒事務(wù)處理量TPS(Transaction Per Second),并發(fā)用戶數(shù)等。
響應(yīng)時(shí)間:系統(tǒng)對(duì)請(qǐng)求做出響應(yīng)的時(shí)間。
吞吐量:單位時(shí)間內(nèi)處理的請(qǐng)求數(shù)量。
QPS:每秒響應(yīng)查詢請(qǐng)求數(shù)。
TPS:每秒響應(yīng)事務(wù)請(qǐng)求數(shù)。
并發(fā)用戶數(shù):同時(shí)承載正常使用系統(tǒng)功能的用戶數(shù)量。
二、提升系統(tǒng)的并發(fā)能力
互聯(lián)網(wǎng)分布式架構(gòu)設(shè)計(jì),提高系統(tǒng)并發(fā)能力的方式,方法論上主要有兩種:垂直擴(kuò)展(Scale Up)與水平擴(kuò)展(Scale Out)。
(1)垂直擴(kuò)展:提升單機(jī)處理能力。垂直擴(kuò)展的方式又有兩種:
1)增強(qiáng)單機(jī)硬件性能,例如:增加CPU核數(shù)如32核,升級(jí)更好的網(wǎng)卡如萬(wàn)兆,升級(jí)更好的硬盤如SSD,擴(kuò)充硬盤容量如2T,擴(kuò)充系統(tǒng)內(nèi)存如128G;
2)提升單機(jī)架構(gòu)性能,例如:使用Cache來(lái)減少IO次數(shù),使用異步來(lái)增加單服務(wù)吞吐量,使用無(wú)鎖數(shù)據(jù)結(jié)構(gòu)來(lái)減少響應(yīng)時(shí)間;
(2)水平擴(kuò)展:只要增加服務(wù)器數(shù)量,就能線性擴(kuò)充系統(tǒng)性能。水平擴(kuò)展對(duì)系統(tǒng)架構(gòu)設(shè)計(jì)是有要求的,如何在架構(gòu)各層進(jìn)行可水平擴(kuò)展的設(shè)計(jì)是本文重點(diǎn)討論的內(nèi)容。
1、系統(tǒng)集群化部署+負(fù)載均衡
(1)添加負(fù)載均衡層,將請(qǐng)求均勻打到系統(tǒng)層。
(2)系統(tǒng)層采用集群化多活部署,扛住初步的并發(fā)壓力。
2、數(shù)據(jù)庫(kù)分庫(kù)分表+讀寫分離+分布式數(shù)據(jù)庫(kù)
(1)分庫(kù)分表:水平拆分、垂直拆分(弊端太多如關(guān)聯(lián)查詢)。
(2)讀寫分離:主庫(kù)寫,從庫(kù)讀(數(shù)據(jù)同步延遲)。
(3)分布式數(shù)據(jù)庫(kù):TiDB(HTAP、兼容MySQL協(xié)議、水平擴(kuò)展、分布式事務(wù))
3、緩存
(1)本地緩存:本地磁盤或內(nèi)存。
(2)分布式緩存:用緩存集群抗住大量的讀請(qǐng)求。
(3)預(yù)緩存,多級(jí)緩存。
4、消息中間件
(1)系統(tǒng)解耦,數(shù)據(jù)同步。
(2)請(qǐng)求異步化處理,實(shí)現(xiàn)削峰填谷的效果。
5、應(yīng)用拆分(微服務(wù))
(1)按業(yè)務(wù)拆分、減少耦合。
(2)分級(jí)部署,擴(kuò)容縮容。
(3)應(yīng)用資源隔離。
6、CDN(內(nèi)容分發(fā)網(wǎng)絡(luò))
(1)盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié), 使內(nèi)容傳輸?shù)母旄€(wěn)定。
(2)CDN能夠?qū)崟r(shí)地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的鏈接,負(fù)載狀況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的請(qǐng)求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上。
作者:阿凡盧
出處:http://www.cnblogs.com/luxiao...
如有錯(cuò)誤或其它問題,歡迎小伙伴留言評(píng)論、指正。如有幫助,歡迎點(diǎn)贊+轉(zhuǎn)發(fā)分享。
我是民工哥,一個(gè)愛折騰的IT技術(shù)老司機(jī),歡迎關(guān)注我,我們一起學(xué)習(xí),共同成長(zhǎng)!!
總結(jié)
以上是生活随笔為你收集整理的tps 数据库写并发衡量_硬核干货!抗住百万高并发的 6 个关键技术!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python动态映射_Python Dj
- 下一篇: calender获取日期前几月_java