到底多大才算高并發?

一、什么是高并發

定義:

高并發(High Concurrency)是使用技術手段使系統可以并行處理很多請求。

關鍵指標:

-響應時間(Response Time)

-吞吐量(Throughput)

-每秒查詢率QPS(Query Per Second)

-每秒事務處理量TPS(Transaction Per Second)

-同時在線用戶數量
關鍵指標的維度:

-平均,如:小時平均、日平均、月平均

-Top百分數TP(Top Percentile),如:TP50、TP90、TP99、TP4個9

-最大值

-趨勢

「并發」由于在互聯網架構中,已經從機器維度上升到了系統架構層面,所以和「并行」已經沒有清晰的界限。「并」(同時)是其中的關鍵。由于「同時」會引發多久才叫同時的問題,將時間擴大,又根據不同業務關注點不同,引申出了引申指標。

引申指標:

-活躍用戶數,如:日活DAU(Daily Active User)、月活MAU(Monthly Active Users)

-點擊量PV(Page View)

-訪問某站點的用戶數UV(Unique Visitor)

-獨立IP數IP(Internet Protocol)

-日單量

二、多大算高并發

這個問題的答案不是一個數字。來看兩個場景:

場景1:

木頭同學去一家創業公司面試。這個公司做的產品還沒有上線,面試官小熊之前就職過公司的產品都沒有什么量。

小熊:“有高并發經驗嗎?”

木頭:“我們服務單機QPS2000+,線上有4臺機器負載均衡。”

這時候小熊心里的表情大概是:
在這里插入圖片描述
但是如果小熊就職的公司是美團之類的。那這這時候小熊心里的表情大概是:
在這里插入圖片描述
場景2:

固態硬盤SSD(Solid State Disk)說:我讀取和寫入高達 1000MB/秒

mysql說:我單機TPS10000+

nginx說:我單機QPS10W+

靜兒說:給我一臺56核200G高配物理機,我可以創建一個單機QPS1000W
在這里插入圖片描述
不在同一維度,沒有任何前提,無法比較誰更牛。“我的系統算不算高并發?”這個問題就如同一個女孩子愛問的問題:“我美不美?”
三、高并發的本質

俗話說:「沒有對比就沒有傷害」。算不算高并發,這個問題的答案需要加對比和前提。
對比包括:

-業界:在業界同類產品中并發量處于什么位置。舉個栗子?,美團外賣的日單量是千萬級別,一個系統日單量在百萬,雖然差一個數量級,但是相比大多數公司已經很不錯。

-自身:在自身系統中,并發問題是否已經是系統的瓶頸?如果是,這么這個瓶頸怎么打破?如果不是,那當初架構設計的時候是怎么保證并發不是問題的?(別告訴我:是通過系統沒有訪問量來保證的[擦汗])。
前提包括:

-業務復雜度:舉個栗子?,訪問百度首頁的時間基本就是看自己家的網速,通常情況下都是點一下就看到結果了。而掃描二維碼支付,通常需要等很久,雖然這可能已經是業界最牛的支付公司出品了。

-配置:用高配物理機得出的數據和最老最低配的虛擬器上的出來的結果是無法比較的。通常的配置有:cpu、內存、磁盤、帶寬、網卡

高并發的本質不是「多大算高并發」的一個數字,而是從架構上、設計上、編碼上怎么來保證或者解決由并發引起的問題。當別人問你:“做過高并發嗎?”回答者完全可以描述自己系統的各項指標,然后開始敘述自己對系統中對預防、解決并發問題作出的思考和行動。
四、總結過程大于結果,方向大于方法。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/249781.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/249781.shtml
英文地址,請注明出處:http://en.pswp.cn/news/249781.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

eclipse安裝maven插件

1、在線安裝插件 a.打開eclipse,菜單“Help”-“Install New Software...” b.在Work with 地址欄輸入:http://download.eclipse.org/releases/對應eclipse版本名稱 c.在filter框中輸入maven d.選擇“Collaboration”-“m2e - Maven Integration for Ecl…

VS2017 網站打包發布生成的文件中包含.pdb文件,解決辦法

右鍵點擊項目屬性,選擇打包/發布 Web,勾選 排除生成的調試符號: 再次發布,就不會再生成.pdb文件 轉載于:https://www.cnblogs.com/JoinLet/p/10297254.html

java分布式學習路線

先理解為什么需要分布式,因為服務器處理的能力需要提升,這里有兩個方面,第一是縱向 也就是增加cpu的能力,或者加內存;另一個方向就是 橫向 ,就是分布式。將本來一臺計算機的壓力分給多太計算機,…

深入Nginx之《常用參數配置技巧》

常見參配置實戰技巧 下面會講解實戰中應該怎么配置更為合理。 1.user 默認是nobody,如果使用nobody,Nginx在運行過程中會出現很多操作沒有權限,比如寫硬盤。一般都是用低于root級別的用戶,比如www,并且可以在linux下設…

transform、transition 動畫效果

transform 轉換,變形 origin 定義旋轉基點(left top center right bottom 坐標值) transform-origin: 50px 50px; transform-origin: left;。 rotate 旋轉 transform:rotate(50deg) 旋轉角度可以為負數,需要先定義…

eslint 規則

"off"或0- 關閉規則 "warn"或1- 將規則作為警告打開(不影響退出代碼) "error"或2- 將規則作為錯誤打開(觸發時退出代碼為1)轉載于:https://www.cnblogs.com/smzd/p/10844161.html

分布式學習路線

由于分布式系統所涉及到的領域眾多,知識龐雜,很多新人在最初往往找不到頭緒,不知道從何處下手來一步步學習分布式架構。 本文試圖通過一個最簡單的、常用的分布式系統,來闡述分布式系統中的一些基本問題。 負載均衡分布式緩存分…

洛谷p2704 炮兵陣地

典型的狀態壓縮題&#xff0c;只是要定義dp[i][j][k]&#xff0c; #include<bits/stdc.h>using namespace std;int n,m,state[1<<10],tot0;int dp[110][66][66],sum[1<<10],mp[110];int getsum(int x){ int cnt0; while(x){ if(x&1) cnt; …

Flask 框架app = Flask(__name__) 解析

1 #!/usr/local/bin/python2 # codingutf-83 4 from flask import Flask5 app Flask(__name__)6 7 app.route(/)8 def hello_world():9 return Hello World! 10 11 if __name__ __main__: 12 app.run(host0.0.0.0,port9000) 第4行&#xff0c;引入Flask類&#x…

發布訂閱

發布訂閱 在軟件架構中&#xff0c;發布訂閱是一種消息范式&#xff0c;消息的發送者&#xff08;稱為發布者&#xff09;不會將消息直接發送給特定的接收者&#xff08;稱為訂閱者&#xff09;。而是將發布的消息分為不同的類別&#xff0c;無需了解哪些訂閱者&#xff08;如果…

ps 命令

ps 為我們提供了進程的一次性的查看&#xff0c;它所提供的查看結果并不動態連續的&#xff1b;如果想對進程時間監控&#xff0c;應該用 top 工具。kill 命令用于殺死進程。linux上進程有5種狀態: 1. 運行(正在運行或在運行隊列中等待) 2. 中斷(休眠中, 受阻, 在等待某個條件的…

python練習題-day8

1、有如下文件&#xff0c;a1.txt&#xff0c;里面的內容為&#xff1a; 老男孩是最好的培訓機構&#xff0c; 全心全意為學生服務&#xff0c; 只為學生未來&#xff0c;不為牟利。 我說的都是真的。哈哈 分別完成以下的功能&#xff1a; a,將原文件全部讀出來并打印。 with o…

消息中間件應用場景

消息中間件應用場景

IDEA開發vue.js卡死問題

在執行cnpm install后會在node_modules這個文件下面生成vue的相關依賴文件&#xff0c; 這個時候當執行cnpm run dev命令時&#xff0c;會導致IDEA出現卡死的問題&#xff0c;解決方法如下&#xff1a; 轉載于:https://www.cnblogs.com/heqiuyong/p/10301925.html

[BZOJ4698][SDOI2008]Sandy的卡片(后綴自動機)

差分之后就是求多串LCS。 對其中一個串建SAM&#xff0c;然后把其它串放在上面跑。 對SAM上的每個狀態都用f[x]記錄這個狀態與當前串的最長匹配長度&#xff0c;res[x]是對每次的f[x]取最小值。答案就是res[]的最大值。 考慮f[x]的求法&#xff0c;把s[]放在SAM上跑時&#xff…

點對點

數據傳輸的可靠性是通過數據鏈路層和網絡層的點對點和傳輸層的端對端保證的。點對點是基于MAC地址或者IP地址&#xff0c;是指一個設備發數據給另外一個設備&#xff0c;這些設備是指直連設備包括網卡&#xff0c;路由器&#xff0c;交換機。端對端是網絡連接&#xff0c;應用程…

none

module.exports {root: true,env: {node: true},extends: [plugin:vue/essential, vue/prettier],rules: {no-console: process.env.NODE_ENV production ? error : off,no-debugger: process.env.NODE_ENV production ? error : off,prettier/prettier: [error,{// tab縮…

MQ消息中間件介紹

消息隊列技術是分布式應用間交換信息的一種技術&#xff0c;消息隊列可駐留在內存或者磁盤上&#xff0c;隊列存儲消息直到它們被應用程序讀走&#xff0c;通過消息隊列&#xff0c;應用程序可以獨立的執行—它們不需要知道彼此的位置&#xff0c;或者繼續執行前不需要等待接收…

22 塊級元素和行內元素

學習的初期&#xff0c;我們就要知道&#xff0c;標準文檔流等級森嚴。標簽分為兩種等級&#xff1a; 行內元素塊級元素比如h1標簽和span&#xff0c;同時設置寬高&#xff0c;來看瀏覽器效果&#xff0c;那么你會發現&#xff1a; 行內元素和塊級元素的區別&#xff1a;&#…

節流防抖

https://www.cnblogs.com/fsjohnhuang/p/4147810.html 轉載于:https://www.cnblogs.com/smzd/p/10943002.html