并发与并行$ i, Y. k5 E& p7 Q7 n4 I1 K
, L3 ]. z! J5 K% a1 G7 ?* s R, v" y: o4 h0 o- @
- 并发:由于CPU数量或核心数量不够,多个任务并不一定是同时进行的,这些任务交替执行(分配不同的CPU时间片,进程或者线程的上下文切换),所以是伪并行。
' c$ x9 |- G, _; I$ M2 B - 并行:多个任务可以在同一时刻同时执行,通常需要多个或多核处理器,不需要上下文切换,真正的并行。% k. g8 G. w! B L2 g
并发量(Concurrency)
4 _# j: Q# `- [$ Z$ u+ r, `! N4 K# G4 ]" J, z
( o) q0 a: x) j% y2 S
- 概念:并发或并行,是程序和运维本身要考虑的问题。而并发量,通常是不考虑程序并发或并行执行,只考虑一个服务端程序单位时间内同时可接受并响应多少个请求,通常以秒为单位,也可乘以86400,以天为单位。 j7 @! g# b$ J' J# a
- 计算方法,通常通过一些压测工具,例如ApiPost压测,或者ab压测来统计,依ab为例:
, O+ y$ e: B- f5 K Window系统:Apache下bin目录有个ab.exeCentOS系统:yum -y install httpd-tools.x86_64ab -c 并发数 -n 请求数 网址ab -c 10 -n 150 127.0.0.1/ 表示对127.0.0.1这个地址,用10个并发一共请求了150次。而不是1500次,Time taken for tests: 1.249 seconds,说明并发量为 150 / 1.249 ≈ 120 并发,表示系统最多可承载120个并发每秒。吞吐量(Throughput)3 V! ^+ C. J/ T3 ?* K* f
; K9 f# t) g( e
* @% o6 H" }4 A' N+ `- 概念:吞吐量是指系统在单位时间能够处理多少个请求,TPS、QPS都是吞吐量的量化指标。 相比于QPS这些具有清晰定义的书面用语,吞吐量偏向口语化。
6 ?! @& x- {+ S0 _7 y 日活/ P7 s: G2 H5 q8 N- l: \
& |7 M: D# x, q* q% J, k8 r- k
' X- @7 P9 j; V1 |- 概念:每日活跃用户的数量,通常偏向非技术指标用语,这个概念没有清晰的定义,销售运营嘴里的日活,可能是只有一个人1天访问100次,就叫做日活100,也可以说是日活1,中位数日活50,显然意义不大。
# a9 |# u# X3 \$ G. Z8 u' m QPS(Query Per Second). L" }4 \0 f+ o7 m
^* d# [7 b" D+ ] e b9 k, D+ L
& {% ?5 U" R! f2 t" Z6 w
- 概念:每秒查询次数,通常是对读操作的压测指标。服务器在一秒的时间内能处理多少量的请求。和并发量概念差不多,并发量高,就能应对更多的请求。
, C# e. A5 M U/ F1 ^ - 计算方法,通常通过一些压测工具,例如ApiPost压测,或者ab压测来统计,依ab为例:
* W6 ~. g+ E! E3 \/ C( I ab -c 10 -n 150 127.0.0.1/其中返回一行数据:Requests per second: 120.94 [#/sec] (mean)表示该接口QPS在120左右。% _8 T: W0 X: K! C7 r; e6 B. B5 x
( {/ {7 x6 q0 z7 y+ STPS(Transactions Per Second)
& S. S) ?0 }/ j1 K: a I9 S% F0 t4 A
3 ], X2 ?# E4 j- 概念:每秒处理的事务数目,通常是对写操作的压测指标。这里的事务不是数据库事务,是指服务器接收到请求,再到处理完后响应的过程。TPS表示一秒事件能够完成几次这样的流程。3 Y2 E4 p5 L' h" y3 I
TPS对比QPS
. o. w1 L- f! x0 `6 s) j" Q% c
# e0 T# Q/ |) P! ~( `- m4 M9 k! y6 ~ N) v
- QPS:偏向统计查询性能,一般不涉及数据写操作。
5 ~6 L$ p4 ~ P7 A4 ] - TPS:偏向统计写入性能,如插入、更新、删除等。5 F. H0 j0 G) G" k- H
RPS(Request Per Second)
6 H6 G1 {8 P8 |" y& G# x+ Z* t
% F. B, l, s4 H$ v7 M9 f* p! @1 ]& S& Z
- 概念:每秒请求数,和QPS、TPS概念差不多。没有过于清晰的定义,看你怎么用。/ V5 P/ u8 A. ^* k% @
RT(Response Time)
" Y4 p/ A& i j1 O- n! C6 o6 P6 B. {4 e5 i9 B, k
7 y& K" o6 s7 `: u0 J- 概念:响应时间间隔,是指用户发起请求,到接收到请求的时间间隔,越少越好,应当控制在0~150毫秒之间。0 T* ]* H' A" K: I
PV(Page view)
4 ]% {. O# `$ U" b5 n8 [2 W* l0 O9 \ f6 H4 B
" k) m7 F/ [" l4 P8 K' W
- 概念:浏览次数统计,一般以天为单位。范围可以是单个页面,也可以是整个网站,一千个用户一天对该页面访问一万次,那该页面PV就是一万。; L+ x. q$ O T
* z# b( Y. W+ @, k$ e4 w$ d* e: l# m F" X) b8 _9 K6 B% Z' H
UV(Unique Visitor)
$ P8 h+ @: {- G' ?) _* p
9 Q) ]. s2 O5 D% ^6 a9 `4 }' n% g" @. d
- 概念:唯一访客数。时间单位通常是天,1万个用户一天访问该网站十万次,那么UV是一万。' ?% y# W" R- Z, v: P4 |) c
- 实现方案:已登录的用户可通过会话区分,未登录的用户可让客户端创建一个唯一标识符当做临时的token用于区分用户。4 |2 l- C0 e4 |# [" i1 i9 M
" Q# S& ~% d, \# G; R
- O: I. p: p; a
DAU(Daily Active Use)
' o+ S$ { \# D I2 m$ f m/ t5 m7 b5 ^
9 s0 \- K8 E& B" l/ Q4 {& i- 概念:日活跃用户数量,来衡量服务的用户粘性以及服务的衰退周期。统计方案各不相同,这要看对活跃的定义,访问一次算活跃,还是在线时长超10分钟算活跃,还是用户完成某项指标算活跃。6 N0 m% w# k- I
& n$ o6 u; ^4 v. n( Y/ C) w! h+ F4 h$ K5 ?6 T# @
GMV(Gross Merchandise Volume)
0 a* \7 A* R2 T7 M0 O4 f& a4 o7 r& d. r. ?, E: L4 G0 j
0 U8 m2 W7 w* _2 o
- 概念:单位时间内的成交总额。多用于电商行业,一般包含拍下未支付订单金额。
! m0 ^$ i% q+ }# O. E$ c8 n
- Y( K7 J; p! o% s
' M( r6 B, h0 J原文:https://juejin.cn/post/7400281441803403275 3 C2 R, T$ b1 C5 Q1 I8 S
作者:小松聊PHP进阶 ! _; V, G' ]' Z; N+ ^5 q; b
#记录我的8月生活# |