关于并发用户数和qps,本身一直被这两个概念纠结,阅读了一下相关资料,总结以下:并发用户数和qps两个概念没有直接关系,可是若是要说qps时,必定须要指明是多少并发用户数下的qps,不然豪无心义,由于单用户数的40qps和20并发用户数下的40qps是两个不一样的概念。前者说明该应用能够在一秒内串行执行40个请求,然后者说明在并发20个请求的状况下,一秒内该应用能处理40个请求css
并发链接数 = pv / 统计时间 * 页面衍生链接次数 * http响应时间 * 因数 / 其余web服务器 数量html
pv = 并发链接数 * 统计时间 * 其余web服务器 数量/ 页面衍生链接次数 / http响应时间 / 因数react
首先介绍一下pv量:
PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。
UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户
端只被计算一次。
IP(独立IP):即Internet Protocol,指独立IP数。00:00-24:00内相同IP地址之被计算一次。web
解释: 统计时间 : pv统计的总时间,单位秒,要计算一天的pv就是86400秒 页面衍生链接次数: 一个html页面可能会请求好几回http链接,如外部的css, js ,图片等,能够估算一下,或者用10,可根据实际状况改变 http响应时间: 可使用1秒或更少,可根据实际状况改变 因数: 通常使用5便可,可根据实际状况计算后推出 其余web服务器 数量: 其余web服务器 数量面试
* “页面衍生链接次数”,”http响应时间”,”因数”这三个参数要根据实际状况分析计算后,肯定一个适合的值服务器
推算一下。单台机器1000并发的状况下,一天是1,728,000的pv(1秒响应,10个衍生链接,因子为5的状况下) ======================================================================网络
例子:并发
保证天天多少pv的并发链接数的计算公式是: 并发链接数= pv / 统计时间(一天是86400) * 页面衍生链接次数 * http响应时间 * 因数(5) / 其余web服务器 数量app
保证4千万pv的并发链接数: (40000000pv / 86400秒 * 10个派生链接数 * 5秒内响应 * 5倍峰值) / 6台其余web服务器 = 19290链接数jsp
面试时,面试官问道:1亿个pv,如何肯定并发用户数? 一时想不起来具体的公式,就记得80/20原则,就回答了一些。又说了一些原来咱们公司会提供峰值的方法,肯定最后施压的用户数。
)80~20原则:可是在现实生活中,以上两种状况发生的几率很小。根据统计学原理,采用80~20原则计算并发用户数。 PV*0.8/(8*60*60*0.2)=并发链接数,即每秒中有两个用户并发。
网站流量是指什么? ip和pv呢? 一般说的网站流量(traffic)是指网站的访问量,是用来描述访问一个网站的用户数量以及用户所浏览的网页数量等指标,经常使用的统计指标包括网站的独立用户数量、总用户数量(含重复访问者)、网页浏览数量、每一个用户的页面浏览数量、用户在网站的平均停留时间等。
网站访问统计分析的基础是获取网站流量的基本数据,根据网上营销新观察的相关文章,网站流量统计指标大体能够分为三类,每类包含若干数量的统计指标。具体的网站流量统计是经过不一样的ip登录网站来计算的,也就是说。一天内同一台机器登录网站的次数不管是多少,在流量统计中只记为一次有效登录,这种计算方法能够较为科学 的计算出有多少人登录过该网站,有效的防止了有意的对网站进行刷新从而增长本身网站的点击率。
网站流量指标
网站流量统计指标经常使用来对网站效果进行评价,主要指标包括: ·独立访问者数量(unique visitors); ·重复访问者数量(repeat visitors) ·页面浏览数(page views); ·每一个访问者的页面浏览数(page views per user); ·某些具体文件/页面的统计指标,如页面显示次数、文件下载次数等。
ip 是使用不一样ip上网的人访问你网站的人数,也就是上面的独立访问者数量。 通常来讲是24小时同一ip不重复记录的, 也应该24小时不重复记录。(其实ip也不必定就是独立访问者数量,由于有的用户是公用一个ip的,但大体上能够认为就是今日的独立访问者数量。)
pv 则是上面的页面浏览数,是指这些访问者一共浏览了多少次你网站的页面,他是会重复记录的,你点这个网站10个页面,他就会记录10次。
因此pv必定是>=ip的,如一个网站今天的流量统计是100ip 200pv就是说今天有大体100个独立访问者,一共访问了200次页面,平均每一个用户访问页面数量是 pv/ip=2 ,通常来讲这个数字越大说明网站内容越吸引用户,但也和网站自己的页面有关。
吞吐量(tps)=活动的用户数/响应时间 活动用户=并发用户*[响应时间/(响应时间+思考时间)] 吞吐量(tps)=并发用户/(响应时间+思考时间) 由此推出: 并发用户=活动用户+吞吐量*思考时间 并发用户=活动用户*(1+思考时间/响应时间) 并发用户=吞吐量*(响应时间+思考时间)
并发链接数与pv的换算公式 oncurrent connections=pv / seconds *(para connect per a page) * (time to react) * (factor) / (web hosts)
pv = concurrent connections * seconds * (web hosts)/ (para connect per a page)/ (time to react)/ (factor)
concurrent connections:并发链接数
seconds: pv统计的总时间,单位秒,要计算一天的pv就是86400秒
para connect per a page: 页面衍生链接次数。一个html页面可能会请求好几回http链接,如外部的css, js ,图片等。能够估算一下
此文来自: 马开东博客 转载请注明出处 网址: http://www.makaidong.com
,或者用10。可根据实际状况改变
time to react:http响应时间,可使用1秒或更少。可根据实际状况改变
factor:因数,通常使用5便可。可根据实际状况计算后推出
web hosts:其余web服务器 数量
* para connect per a page,time to react,factor这三个参数要根据实际状况分析计算后,肯定一个适合的值
推算一下。单台机器1000并发的状况下,一天是1,728,000的pv(1秒响应,10个衍生链接,因子为5的状况下)
==================================================================================
术语说明: qps = req/sec = 请求数/秒
【qps计算pv和机器的方式】
qps统计方式 [通常使用 http_load 进行统计] qps = 总请求数 / ( 进程总数 * 请求时间 ) qps: 单个进程每秒请求服务器的成功次数
单台服务器天天pv计算 公式1:天天总pv = qps * 3600 * 6 公式2:天天总pv = qps * 3600 * 8
服务器计算 服务器数量 = ceil( 天天总pv / 单台服务器天天总pv )
【峰值qps和机器计算公式】
原理:天天80%的访问集中在20%的时间里,这20%时间叫作峰值时间 公式:( 总pv数 * 80% ) / ( 天天秒数 * 20% ) = 峰值时间每秒请求数(qps) 机器:峰值时间每秒qps / 单台机器的qps = 须要的机器
问:天天300w pv 的在单台机器上,这台机器须要多少qps? 答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (qps)
问:若是一台机器的qps是58,须要几台机器来支持? 答:139 / 58 = 3
ps: 在实际状况中,会把这个考虑的更多一点,就是把qps再往多了调一调,以防万
ps:下面是性能测试的主要概念和计算公式,记录下:
一.系统吞度量要素:
一个系统的吞度量(承压能力)与request对cpu的消耗、外部接口、io等等紧密关联。
单个reqeust 对cpu消耗越高,外部系统接口、io影响速度越慢,系统吞吐能力越低,反之越高。
系统吞吐量几个重要参数:qps(tps)、并发数、响应时间
qps(tps):每秒钟request/事务 数量
并发数: 系统同时处理的request/事务数
响应时间: 通常取平均响应时间
(不少人常常会把并发数和tps理解混淆)
理解了上面三个要素的意义以后,就能推算出它们之间的关系:
qps(tps)= 并发数/平均响应时间
一个系统吞吐量一般由qps(tps)、并发数两个因素决定,每套系统这两个值都
此文来自: 马开东博客 转载请注明出处 网址: http://www.makaidong.com
有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,若是压力继续增大,系统的吞吐量反而会降低,缘由是系统超负荷工做,上下文切换、内存等等其它消耗致使系统性能降低。
决定系统响应时间要素
咱们作项目要排计划,能够多人同时并发作多项任务,也能够一我的或者多我的串行工做,始终会有一条关键路径,这条路径就是项目的工期。
系统一次调用的响应时间跟项目计划同样,也有一条关键路径,这个关键路径是就是系统影响时间;
关键路径是有cpu运算、io、外部系统响应等等组成。
二.系统吞吐量评估:
咱们在作系统设计的时候就须要考虑cpu运算、io、外部系统响应因素形成的影响以及对系统性能的初步预估。
而一般境况下,咱们面对需求,咱们评估出来的出来qps、并发数以外,还有另一个维度:日pv。
经过观察系统的访问日志发现,在用户量很大的状况下,各个时间周期内的同一时间段的访问流量几乎同样。好比工做日的天天早上。只要能拿到日流量图和qps咱们就能够推算日流量。
一般的技术方法:
1. 找出系统的最高tps和日pv,这两个要素有相对比较稳定的关系(除了放假、季节性因素影响以外)
2. 经过压力测试或者经验预估,得出最高tps,而后跟进1的关系,计算出系统最高的日吞吐量。b2b中文和淘宝 面对的客户群不同,这两个客户群的网络行为不该用,他们之间的tps和pv关系比例也不同。
a)淘宝
淘宝 的tps和pv之间的关系一般为 最高tps:pv大约为 1 : 11*3600 (至关于按最高tps访问11个小时,这个是商品详情的场景,不一样的应用场景会有一些不一样)
b) b2b中文站
b2b的tps和pv之间的关系不一样的系统不一样的应用场景比例变化比较大,粗略估计在1 : 8个小时左右的关系(09年对offerdetail的流量分析数据)。旺铺和offerdetail这两个比例相差很大,多是由于爬虫暂的比例较高的缘由致使。
在淘宝 环境下,假设咱们压力测试出的tps为100,那么这个系统的日吞吐量=100*11*3600=396万
这个是在简单(单一url)的状况下,有些页面,一个页面有多个request,系统的实际吞吐量还要小。
不管有无思考时间(t_think),测试所得的tps值和并发虚拟用户数(u_concurrent)、loadrunner读取的交易响应时间(t_response)之间有如下关系(稳定运行状况下):
tps=u_concurrent / (t_response+t_think)。
并发数、qps、平均响应时间三者之间关系