怎样才算高并发?
一、什么是高并發(fā)
定義:
????高并發(fā)(High Concurrency)是使用技術(shù)手段使系統(tǒng)可以并行處理很多請求。
?
關(guān)鍵指標(biāo):
-響應(yīng)時間(Response Time)
-吞吐量(Throughput)
-每秒查詢率QPS(Query Per Second)
-每秒事務(wù)處理量TPS(Transaction Per Second)
-同時在線用戶數(shù)量
?
關(guān)鍵指標(biāo)的維度:
-平均,如:小時平均、日平均、月平均
-Top百分?jǐn)?shù)TP(Top Percentile),如:TP50、TP90、TP99、TP4個9
-最大值
-趨勢
?
「并發(fā)」由于在互聯(lián)網(wǎng)架構(gòu)中,已經(jīng)從機(jī)器維度上升到了系統(tǒng)架構(gòu)層面,所以和「并行」已經(jīng)沒有清晰的界限。「并」(同時)是其中的關(guān)鍵。由于「同時」會引發(fā)多久才叫同時的問題,將時間擴(kuò)大,又根據(jù)不同業(yè)務(wù)關(guān)注點不同,引申出了引申指標(biāo)。
引申指標(biāo):
-活躍用戶數(shù),如:日活DAU(Daily Active User)、月活MAU(Monthly Active Users)
-點擊量PV(Page View)
-訪問某站點的用戶數(shù)UV(Unique Visitor)
-獨(dú)立IP數(shù)IP(Internet Protocol)
-日單量
?
二、多大算高并發(fā)
? ? 這個問題的答案不是一個數(shù)字。來看兩個場景:
場景1:
????木頭同學(xué)去一家創(chuàng)業(yè)公司面試。這個公司做的產(chǎn)品還沒有上線,面試官小熊之前就職過公司的產(chǎn)品都沒有什么量。
小熊:“有高并發(fā)經(jīng)驗嗎?”
木頭:“我們服務(wù)單機(jī)QPS2000+,線上有4臺機(jī)器負(fù)載均衡。”
這時候小熊心里的表情大概是:
?
? ??但是如果小熊就職的公司是美團(tuán)之類的。那這這時候小熊心里的表情大概是:
?
場景2:
固態(tài)硬盤SSD(Solid State Disk)說:我讀取和寫入高達(dá) 1000MB/秒
mysql說:我單機(jī)TPS10000+
nginx說:我單機(jī)QPS10W+
靜兒說:給我一臺56核200G高配物理機(jī),我可以創(chuàng)建一個單機(jī)QPS1000W
?
?
????不在同一維度,沒有任何前提,無法比較誰更牛。“我的系統(tǒng)算不算高并發(fā)?”這個問題就如同一個女孩子愛問的問題:“我美不美?”
?
三、高并發(fā)的本質(zhì)
????俗話說:「沒有對比就沒有傷害」。算不算高并發(fā),這個問題的答案需要加對比和前提。
對比包括:
-業(yè)界:在業(yè)界同類產(chǎn)品中并發(fā)量處于什么位置。舉個栗子?,美團(tuán)外賣的日單量是千萬級別,一個系統(tǒng)日單量在百萬,雖然差一個數(shù)量級,但是相比大多數(shù)公司已經(jīng)很不錯。
-自身:在自身系統(tǒng)中,并發(fā)問題是否已經(jīng)是系統(tǒng)的瓶頸?如果是,這么這個瓶頸怎么打破?如果不是,那當(dāng)初架構(gòu)設(shè)計的時候是怎么保證并發(fā)不是問題的?(別告訴我:是通過系統(tǒng)沒有訪問量來保證的[擦汗])。
?
前提包括:
-業(yè)務(wù)復(fù)雜度:舉個栗子?,訪問百度首頁的時間基本就是看自己家的網(wǎng)速,通常情況下都是點一下就看到結(jié)果了。而掃描二維碼支付,通常需要等很久,雖然這可能已經(jīng)是業(yè)界最牛的支付公司出品了。
-配置:用高配物理機(jī)得出的數(shù)據(jù)和最老最低配的虛擬器上的出來的結(jié)果是無法比較的。通常的配置有:cpu、內(nèi)存、磁盤、帶寬、網(wǎng)卡
?
????高并發(fā)的本質(zhì)不是「多大算高并發(fā)」的一個數(shù)字,而是從架構(gòu)上、設(shè)計上、編碼上怎么來保證或者解決由并發(fā)引起的問題。當(dāng)別人問你:“做過高并發(fā)嗎?”回答者完全可以描述自己系統(tǒng)的各項指標(biāo),然后開始敘述自己對系統(tǒng)中對預(yù)防、解決并發(fā)問題作出的思考和行動。
?
四、總結(jié)
? ? 過程大于結(jié)果,方向大于方法。
?
業(yè)余時間賺點零花錢點這里
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
- 上一篇: 常用LINQ关键字用法汇总
- 下一篇: MySQL存储过程和游标