并發(fā)與并行
- 并發(fā):由于CPU數(shù)量或核心數(shù)量不夠被辑,多個(gè)任務(wù)并不一定是同時(shí)進(jìn)行的,這些任務(wù)交替執(zhí)行(分配不同的CPU時(shí)間片敬惦,進(jìn)程或者線程的上下文切換)盼理,所以是偽并行。
- 并行:多個(gè)任務(wù)可以在同一時(shí)刻同時(shí)執(zhí)行俄删,通常需要多個(gè)或多核處理器宏怔,不需要上下文切換,真正的并行畴椰。
并發(fā)量(Concurrency)
- 概念:并發(fā)或并行臊诊,是程序和運(yùn)維本身要考慮的問題。而并發(fā)量斜脂,通常是不考慮程序并發(fā)或并行執(zhí)行抓艳,只考慮一個(gè)服務(wù)端程序單位時(shí)間內(nèi)同時(shí)可接受并響應(yīng)多少個(gè)請(qǐng)求,通常以秒為單位,也可乘以86400,以天為單位吞获。
- 計(jì)算方法钝荡,通常通過一些壓測(cè)工具,例如ApiPost壓測(cè),或者ab壓測(cè)來統(tǒng)計(jì),依ab為例:
Window系統(tǒng):Apache下bin目錄有個(gè)ab.exe
CentOS系統(tǒng):yum -y install httpd-tools.x86_64
ab -c 并發(fā)數(shù) -n 請(qǐng)求數(shù) 網(wǎng)址
ab -c 10 -n 150 127.0.0.1/ 表示對(duì)127.0.0.1這個(gè)地址,用10個(gè)并發(fā)一共請(qǐng)求了150次约谈。而不是1500次,
Time taken for tests: 1.249 seconds犁钟,說明并發(fā)量為 150 / 1.249 ≈ 120 并發(fā)棱诱,表示系統(tǒng)最多可承載120個(gè)并發(fā)每秒。
吞吐量(Throughput)
- 概念:吞吐量是指系統(tǒng)在單位時(shí)間能夠處理多少個(gè)請(qǐng)求涝动,TPS迈勋、QPS都是吞吐量的量化指標(biāo)。
相比于QPS這些具有清晰定義的書面用語醋粟,吞吐量偏向口語化靡菇。
日活
- 概念:每日活躍用戶的數(shù)量重归,通常偏向非技術(shù)指標(biāo)用語,這個(gè)概念沒有清晰的定義厦凤,銷售運(yùn)營(yíng)嘴里的日活鼻吮,可能是只有一個(gè)人1天訪問100次,就叫做日活100较鼓,也可以說是日活1椎木,中位數(shù)日活50,顯然意義不大博烂。
QPS(Query Per Second)
- 概念:每秒查詢次數(shù)香椎,通常是對(duì)讀操作的壓測(cè)指標(biāo)。服務(wù)器在一秒的時(shí)間內(nèi)能處理多少量的請(qǐng)求禽篱。和并發(fā)量概念差不多畜伐,并發(fā)量高,就能應(yīng)對(duì)更多的請(qǐng)求躺率。
- 計(jì)算方法烤礁,通常通過一些壓測(cè)工具,例如ApiPost壓測(cè)肥照,或者ab壓測(cè)來統(tǒng)計(jì),依ab為例:
ab -c 10 -n 150 127.0.0.1/
其中返回一行數(shù)據(jù):
Requests per second: 120.94 [#/sec] (mean)
表示該接口QPS在120左右勤众。
TPS(Transactions Per Second)
- 概念:每秒處理的事務(wù)數(shù)目舆绎,通常是對(duì)寫操作的壓測(cè)指標(biāo)。這里的事務(wù)不是數(shù)據(jù)庫事務(wù)们颜,是指服務(wù)器接收到請(qǐng)求吕朵,再到處理完后響應(yīng)的過程。TPS表示一秒事件能夠完成幾次這樣的流程窥突。
TPS對(duì)比QPS
- QPS:偏向統(tǒng)計(jì)查詢性能努溃,一般不涉及數(shù)據(jù)寫操作。
- TPS:偏向統(tǒng)計(jì)寫入性能阻问,如插入梧税、更新、刪除等称近。
RPS(Request Per Second)
- 概念:每秒請(qǐng)求數(shù)第队,和QPS、TPS概念差不多刨秆。沒有過于清晰的定義凳谦,看你怎么用。
RT(Response Time)
- 概念:響應(yīng)時(shí)間間隔衡未,是指用戶發(fā)起請(qǐng)求尸执,到接收到請(qǐng)求的時(shí)間間隔家凯,越少越好,應(yīng)當(dāng)控制在0~150毫秒之間如失。
PV(Page view)
- 概念:瀏覽次數(shù)統(tǒng)計(jì)绊诲,一般以天為單位。范圍可以是單個(gè)頁面岖常,也可以是整個(gè)網(wǎng)站驯镊,一千個(gè)用戶一天對(duì)該頁面訪問一萬次,那該頁面PV就是一萬竭鞍。
UV(Unique Visitor)
- 概念:唯一訪客數(shù)板惑。時(shí)間單位通常是天,1萬個(gè)用戶一天訪問該網(wǎng)站十萬次偎快,那么UV是一萬冯乘。
- 實(shí)現(xiàn)方案:已登錄的用戶可通過會(huì)話區(qū)分,未登錄的用戶可讓客戶端創(chuàng)建一個(gè)唯一標(biāo)識(shí)符當(dāng)做臨時(shí)的token用于區(qū)分用戶晒夹。
DAU(Daily Active Use)
- 概念:日活躍用戶數(shù)量裆馒,來衡量服務(wù)的用戶粘性以及服務(wù)的衰退周期。統(tǒng)計(jì)方案各不相同丐怯,這要看對(duì)活躍的定義喷好,訪問一次算活躍,還是在線時(shí)長(zhǎng)超10分鐘算活躍读跷,還是用戶完成某項(xiàng)指標(biāo)算活躍梗搅。
GMV(Gross Merchandise Volume)
- 概念:?jiǎn)挝粫r(shí)間內(nèi)的成交總額。多用于電商行業(yè)效览,一般包含拍下未支付訂單金額无切。