1、QPS (每秒查询):
Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
2、TPS (每秒事务):
是TransactionsPerSecond的缩写,也就是事务数/秒。它是软件测试结果的测量单位。一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程。客户机在发送请求时开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。
QPS vs TPS:QPS基本类似于TPS,但是不同的是,对于一个页面的一次访问,形成一个TPS;但一次页面请求,可能产生多次对服务器的请求,服务器对这些请求,就可计入“QPS”之中。如,访问一个页面会请求服务器2次,一次访问,产生一个“T”,产生2个“Q”。
3、RT (响应时间):
响应时间:执行一个请求从开始到最后收到响应数据所花费的总体时间,即从客户端发起请求到收到服务器响应结果的时间。
响应时间RT(Response-time),是一个系统最重要的指标之一,它的数值大小直接反应了系统的快慢。
4、并发数:
并发数是指系统同时能处理的请求数量,这个也是反应了系统的负载能力。
5、吞吐量:
系统的吞吐量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个request 对CPU消耗越高,外部系统接口、IO速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间。
QPS(TPS):(Query Per Second)每秒钟request/事务 数量
并发数: 系统同时处理的request/事务数
响应时间: 一般取平均响应时间
理解了上面三个要素的意义之后,就能推算出它们之间的关系:
QPS(TPS)= 并发数/平均响应时间
并发数 = QPS*平均响应时间
实际举例:
我们通过一个实例来把上面几个概念串起来理解。按二八定律来看,如果每天 80% 的访问集中在 20% 的时间里,这 20% 时间就叫做峰值时间。
公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器
1、每天300w PV 的在单台机器上,这台机器需要多少QPS?
( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)2、如果一台机器的QPS是58,需要几台机器来支持?
139 / 58 = 3
6、最佳线程数、QPS、RT:
1、单线程QPS公式:QPS=1000ms/RT
对同一个系统而言,支持的线程数越多,QPS越高。假设一个RT是80ms,则可以很容易的计算出QPS,QPS = 1000/80 = 12.5
多线程场景,如果把服务端的线程数提升到2,那么整个系统的QPS则为 2*(1000/80) = 25, 可见QPS随着线程的增加而线性增长,那QPS上不去就加线程呗,听起来很有道理,公司也说的通,但是往往现实并非如此。2、最佳线程数量
刚好消耗完服务器的瓶颈资源的临界线程数,公式如下
最佳线程数量=((线程等待时间+线程cpu时间)/线程cpu时间)* cpu数量特性:
- 在达到最佳线程数的时候,线程数量继续递增,则QPS不变,而响应时间变长,持续递增线程数量,则QPS开始下降。
- 每个系统都有其最佳线程数量,但是不同状态下,最佳线程数量是会变化的。
- 瓶颈资源可以是CPU,可以是内存,可以是锁资源,IO资源:超过最佳线程数-导致资源的竞争,超过最佳线程数-响应时间递增。
7、PV (访问量):
PV(Page View)访问量, 即页面浏览量或点击量,衡量网站用户访问的网页数量;在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计。
8、UV (独立访客):
UV(Unique Visitor)独立访客,统计1天内访问某站点的用户数(以cookie为依据);访问网站的一台电脑客户端为一个访客。可以理解成访问某网站的电脑的数量。网站判断来访电脑的身份是通过来访电脑的cookies实现的7a686964616fe78988e69d8331333365656530。如果更换了IP后但不清除cookies,再访问相同网站,该网站的统计中UV数是不变的。如果用户不保存cookies访问、清除了cookies或者更换设备访问,计数会加1。00:00-24:00内相同的客户端多次访问只计为1个访客。
9、VV (访客的访问次数):
VV (Visit View) 访客的访问次数,用以记录所有访客1天内访问了您的网站多少次。当访客完成所有的浏览并最终关掉该网站的所有页面时便完成了一次访问,同一访客1天内可能有多次访问行为,访问次数累计。
10、IP/IV (独立IP数):
IP(Internet Protocol)访问量指独立IP访问数,计算是以一个独立的IP在一个计算时段内访问网站计算为1次IP访问数。在同一个计算时段内不管这个IP访问多少次均计算为1次。计算时段有以1天为一个计算时段,也有以1个小时为一个计算时段。
扩展:
一般情况下,统计UV数应该大于等于IP数,但有些情况下,有可能UV数会小于IP数:
1) IP地址是绝对的,从TCP链路上取的,真实的,不唯一的;
2) UV设置的cookies,随机设置的,可重复的,只是重复概率足够小;
3) 移动笔记本不时的更换IP,可以导致这种问题;
4) 客户端禁用cookie或者客户端安全级别高会导致cookie设置不上,会出现这种问题;
5) 如果采用的图片统计,由于拿不到cookie会出现这种问题;
11、PR (网页级别技术):
PR(Page Rank)网页级别技术。取自Google的创始人Larry Page,它是Google排名运算法则(排名公式)的一部分,用来标识网页的等级/重要性。级别从1到10级,10级为满分。PR值越高说明该网页越受欢迎(越重要)
12、其他
雅虎统计指数(YSR):通过来源带来的PV、UV、IP,以及用户停留时间、访问情况、用户行为等因素综合分析按不同权重计算得到的,评判来源质量的指数,指数越高,表明来源质量越高。
新访客:某客户端首次访问为一个新访客。
最近访客:最近一段时间内访问您网站的客户端。目前显示50条。
当前在线人数:15分钟内在线访问的UV数。
24小时独立IP:指每小时独立的IP地址。因为该数据每个小时是独立的,所以叫24小时独立的IP。
例如192.168.1.1 0点-1点 访问了您网站 在这个时段算一个IP。
如果192.168.1.1 0点-1点 再次访问您的网站 去重不计算IP。
如果192.168.1.1 1点-2点 又访问您的网站 在这个时段也算一个IP。
最高IP:: 指选择时间段范围内,某日访问IP最多的数值。
最高PV:指选择时间段范围内,某日访问量最高的数值。
日均流量:指选择时间范围内,平均每日流量。(日均流量=总访问量/总天数)
人均访问量:指选择时间范围内,每个访客访问网站的PV数。(计算公式:人均访问量=访问量/唯一访客数)。
访问过程:每个访问者从进入您的网站开始访问,一直到最后离开您的网站,整个过程中发生的一切点击访问行为,称为一次访问过程。
访问入口:每次访问过程中,用户进入的第一个页面是访问入口页面。
访问出口:每次访问过程中,用户结束访问,离开前点击的最后一个页面为访问出口页面。
平均停留时间:所有访客的访问过程,访问持续时间的平均值。
平均访问页数:所有访客的访问过程,连续访问页面数的平均值。
贡献用户数:每个访问来源带来的独立访客数,即UV数。
贡献IP数:每个访问来源带来的独立IP数。
贡献PV数:每个访问来源带来的访客的一切后续访问行为所产生的PV数。
日均 IP / PV 访问量约为 600 / 2400:今天访问首页次数为2400次,访问IP为600个,也就是说这600个IP一共访问首页2400次。