一、什麼是高併發 定義: 高併發(High Concurrency)是使用技術手段使系統可以並行處理很多請求。 關鍵指標: -響應時間(Response Time) -吞吐量(Throughput) -每秒查詢率QPS(Query Per Second) -每秒事務處理量TPS(Transactio ...
一、什麼是高併發
定義:
高併發(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
不在同一維度,沒有任何前提,無法比較誰更牛。“我的系統算不算高併發?”這個問題就如同一個女孩子愛問的問題:“我美不美?”
三、高併發的本質
俗話說:「沒有對比就沒有傷害」。算不算高併發,這個問題的答案需要加對比和前提。
對比包括:
-業界:在業界同類產品中併發量處於什麼位置。舉個慄子