性能测试模型(PV计算模型)

PV(访问量):即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。
UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。
IP(独立IP):即Internet Protocol,指独立IP数。00:00-24:00内相同IP地址之被计算一次
 
问题:一个系统的日均pv量是8000,那么并发用户数应该是多少?
 
1、首先,我觉得应该考察这个系统的业务都有什么,各个之间有什么关联性。这些PV都分布在哪里业务上。
2、如果这些pv为单一业务,那么还要看用户在前台的一次操作,会对服务器端产生几个请求。因为如果网页中包含图片、js等内容,用户一次打开操作,会对服务器产生多个操作。
3、我们假设用户在前台的一次操作,仅产生一次pv。用户并发数是指多少用户同时对服务器产生访问。
   对此,我假设了三种访问情况:
     (1)最差情况:8000个用户同时发起请求,那么并发用户数应为8000
     (2)最好情况:8000个用户在时间上均匀地发起请求,那么并发用户数为8000/24*60*60=0.093,折合一分钟内之有5.5个请求,基本上就没有并发,只是单个执行。
     (3)80~20原则:但是在现实生活中,以上两种情况发生的概率很小。根据统计学原理,采用80~20原则计算并发用户数,8000*0.8/(8*60*60*0.2)=1.11,即每秒中有两个用户并发。

追问:为什么是每秒多少个用户,不是每小时、每分钟、每毫秒?
 
回答:我做一个120人并发查询的项目,响应时间最小0.047s,最大6.216s,平均0.779s。与服务器的一次业务交互,大约需要1秒钟。个人感觉,以小时、分钟做单位,时间跨度太长;以毫秒做单位,时间跨度又太短。综上所述,以秒为单位比较合适。

4、lr使用集合点后,每次迭代中,必须全部(或部分)请求得到回复后,才发起下次迭代。所以在迭代周期内我们只发送了一次并发请求,我们在根据80~20原则计算得出的并发用户数,还要乘以这个迭代周期。(例如我的查询项目中,迭代周期大约为9秒,所以并发用户数为1.11*9=9.99,最终得到并发用户数为10个)

PV计算模型

现有的PV计算公式是:每台服务器每秒平均PV量 = ( (总PV*80%)/(24*60*60*40%))/服务器数量  = 2*(总PV)/* (24*60*60) /服务器数量

 

 

 

通过定积分求整个分布图的面积,然后求出最高值附近范围内的定积分,可以求得占据了80%的pv量的总时间。根据这个数据,得出计算pv的公式变成:

每台服务器每秒平均PV量= ( (80%*总PV)/(24*60*60*(9/24)))/服务器数量

即 每台服务器每秒平均PV量=2.14*(总PV)/* (24*60*60) /服务器数量

进而还可以得出最高峰的pv量是1.29倍的平均pv值。

根据实际情况,计算时间T,进而计算PV量= ( (80%*总PV)/(24*60*60*(T/24)))/服务器数量

现有的PV计算公式是:每台服务器每秒平均PV量 = ( (总PV*80%)/(24*60*60*40%))/服务器数量  = 2*(总PV)/* (24*60*60) /服务器数量

扫描二维码关注公众号,回复: 11051383 查看本文章

 

 

 

通过定积分求整个分布图的面积,然后求出最高值附近范围内的定积分,可以求得占据了80%的pv量的总时间。根据这个数据,得出计算pv的公式变成:

每台服务器每秒平均PV量= ( (80%*总PV)/(24*60*60*(9/24)))/服务器数量

即 每台服务器每秒平均PV量=2.14*(总PV)/* (24*60*60) /服务器数量

进而还可以得出最高峰的pv量是1.29倍的平均pv值。

根据实际情况,计算时间T,进而计算PV量= ( (80%*总PV)/(24*60*60*(T/24)))/服务器数量

猜你喜欢

转载自www.cnblogs.com/douyini/p/12753819.html