关于web页面性能测量指标与建议

首先看一个图:

注:右图在我们工作中经常用到

我们专注的web性能指标有那些?

1、页面加载时间

从页面开始加载到页面onload事件触发的时间。一般来说onload触发代表着直接通过HTML引用的CSS,JS,图片资源已经完全加载完毕。

2、全部页面加载时间

全部页面载入时间指从最初启动浏览开始,直到所有元素都被加载完成后,在2秒后仍然没有网络活动的时间。

0-2秒:用户体验最好,打分100
2-8秒:用户可以容忍,从第2秒开始,每超过1秒减5分
8-15秒:用户不能忍受,从第2秒开始,每超过1秒减5分

3、首字节时间

从开始加载到收到服务器返回数据的第一字节的时间

达标时间=DNS解析时间+创建连接时间+SSL认证时间+100ms. 比达标时间每慢10ms减1分.
0-1秒:用户体验最好
1-2秒:用户可以容忍
2-3秒:用户不能容忍

4、使用长连接

连接视图展现了页面加载过程中创建的(keepalive)连接,以及通过每个连接所加载的资源。

5、DNS时间

进行域名解析所需要的时间

0-50毫秒 100分
50-500毫秒 一般,可能会影响用户体验,从50毫秒开始,每增加10毫秒则减去2分
500毫秒以上,严重影响⽤用户的网页体验,从50毫秒开始,每增加10毫秒则减去2分

6、TCP时间

客户端建立连接的时间

0-100毫秒 100分
100-500毫秒,一般,可能会影响用户体验,从100毫秒开始,没增加10毫秒,减去1分
500毫秒以上,严重影响⽤用户的网页体验,从100毫秒开始,每增加10毫秒,减去1分

7、HTTP网页打分

页面渲染、下载速度、页面流畅度

8、综合评分

以上评分的加权
计算值=全部页面载入时间评分*0.2+首字节时间评分*0.2+使用了长连接*0.1+DNS时间评分*0.2+TCP时间评分*0.2+HTTP网页评分*0.1

9、其他一些测量指标

请求时间
定义:所谓的请求时间是指用户从三次握手到最后一次请求发出的这一段时
间,这个时间可以用于定位网络问题。
网络丢包率
定义:当前的网络的丢包情况统计。
网络时延
定义:当前网络的时延。包括RTTc和RTTs。
RTTc
用户到探针的传输时延
RTTs
探针到服务器的传输时延
可以关联的其他指标
受影响的用户数
所谓受影响,即当该业务的某个指标比较差时,有多少个用户受到影响。通过
这个指标,可以进而得到具体受到影响的用户是哪些。
受影响的站点数
即当网络出现问题,或者是服务器出现问题时,有多少个站点受到影响。通过
这个指标,可以进而得到具体受到影响的站点是哪些。

还有什么指标呢?

简单的说一个Web请求的处理包括以下步骤:

(1)客户发送请求
(2)web server 接受到请求,进行处理;
(3)web server 向DB获取数据;
(4)web server生成用户的object(页面),返回给用户。给客户发送请求开始到最后一个字节的时间称为响应时间(第三步不包括在每次请求处理中)。

1.事务Transaction

2.请求响应时间

3.事务响应时间

事务可能由一系列请求组成,事务的响应时间主要是针对用户而言,属于宏观上的概念,是为了向用户说明业务响应时间而提出的.
例如:跨行取款事务的响应时间就是由一系列的请求组成的.
事务响应时间是直接衡量系统性能的参数.

4.并发用户数

并发一般分为2
种情况。一种是严格意义上的并发,
即所有的用户在同一时刻做同一件事情或者操作,这种操作一般指做同一类型的业务。比如在信用卡审批业务中,一定数目的拥护在同一时刻对已经完成的审批业务进行提交;还有一种特例,即所有用户进行完全一样的操作,例如在信用卡审批业务中,所有的用户可以一起申请业务,或者修改同一条记录。 
另外一种并发是广义范围的并发。这种并发与前一种并发的区别是,尽管多个用户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。对整个系统而言,仍然是有很多用户同时对系统进行操作,因此也属于并发的范畴。 
  
可以看出,后一种并发是包含前一种并发的。而且后一种并发更接近用户的实际使用情况,因此对于大多数的系统,只有数量很少的用户进行“严格意义上的并发”。对于WEB性能测试而言,这2种并发情况一般都需要进行测试,通常做法是先进行严格意义上的并发测试。严格意义上的用户并发一般发生在使用
比较频繁的模块中,尽管发生的概率不是很大,但是一旦发生性能问题,后果很可能是致命的。严格意义上的并发测试往往和功能测试
关联起来,因为并发功能遇到异常通常都是程序问题,这种测试也是健壮性和稳定性测试的一部分。
用户并发数量:关于用户并发的数量,有2种常见的错误观点。 
一种错误观点是把并发用户数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;还有一种比较接近正确的观点是把在线用户数量理解为并发用户数量。实际上在线用户也不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器没有任何影响,但是,在线用户数量是计算并发用户数量的主要依据之一。

5.吞吐量

指的是在一次性能测试过程中网络上传输的数据量的总和
.吞吐量/传输时间,就是吞吐率. 

6.tps

7.点击数PV

每秒钟用户向WEB服务器提 交的HTTP请求数.这个指标是WEB应用特有的一个指标:WEB 应用是"请求-响应"模式,用户发出一次申请,服务器就要处理一次,所以点击是WEB
应用能够处理的交易的最小单位.如果把每次点击定义为一个交易,点击率和TPS就是一个概念.容易看出,点击率越大,对服务器的压力越大.点击率只是一个性能参考指标,重要的是分析点击时产生的影响。需要注意的是,这里的点击并非指鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个HTTP请求.

8.资源利用率

性能项          命令             指标 
CPU限制       vmstat       当%user+%sys超过80%时 
磁盘I/O限制     Vmstat       当%iowait超过40%(AIX4.3.3或更高版本)时 
应用磁盘限制     Iostat     当%tm_act超过70%时 
虚存空间少       Lsps,-a     当分页空间的活动率超过70%时 
换页限制         Iostat, stat  虚存逻辑卷%tm_act超过I/O(iostat)的30%,激活的虚存率超过CPU数量(vmstat)的10倍时 
系统失效         Vmstat, sar   页交换增大、CPU等待并运行队列
性能项     资源        评价  
CPU占用率  70%85%90%+        很差 
磁盘I/0    <30%<40%<50%+       很差 
网络       <30%带宽     好 
运行队列   <2*CPU数量   好
内存       没有页交换    好 
           每个CPU每秒 
   10个页交换 坏 更多的页交换 很差

 

 

转载于:https://www.cnblogs.com/Javame/p/4398838.html

### RT-DETRv3 网络结构分析 RT-DETRv3 是一种基于 Transformer 的实时端到端目标检测算法,其核心在于通过引入分层密集正监督方法以及一系列创新性的训练策略,解决了传统 DETR 模型收敛慢和解码器训练不足的问题。以下是 RT-DETRv3 的主要网络结构特点: #### 1. **基于 CNN 的辅助分支** 为了增强编码器的特征表示能力,RT-DETRv3 引入了一个基于卷积神经网络 (CNN) 的辅助分支[^3]。这一分支提供了密集的监督信号,能够与原始解码器协同工作,从而提升整体性能。 ```python class AuxiliaryBranch(nn.Module): def __init__(self, in_channels, out_channels): super(AuxiliaryBranch, self).__init__() self.conv = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1) self.bn = nn.BatchNorm2d(out_channels) def forward(self, x): return F.relu(self.bn(self.conv(x))) ``` 此部分的设计灵感来源于传统的 CNN 架构,例如 YOLO 系列中的 CSPNet 和 PAN 结构[^2],这些技术被用来优化特征提取效率并减少计算开销。 --- #### 2. **自注意力扰动学习策略** 为解决解码器训练不足的问题,RT-DETRv3 提出了一种名为 *self-att 扰动* 的新学习策略。这种策略通过对多个查询组中阳性样本的标签分配进行多样化处理,有效增加了阳例的数量,进而提高了模型的学习能力和泛化性能。 具体实现方式是在训练过程中动态调整注意力权重分布,确保更多的高质量查询可以与真实标注 (Ground Truth) 进行匹配。 --- #### 3. **共享权重解编码器分支** 除了上述改进外,RT-DETRv3 还引入了一个共享权重的解编码器分支,专门用于提供密集的正向监督信号。这一设计不仅简化了模型架构,还显著降低了参数量和推理时间,使其更适合实时应用需求。 ```python class SharedDecoderEncoder(nn.Module): def __init__(self, d_model, nhead, num_layers): super(SharedDecoderEncoder, self).__init__() decoder_layer = nn.TransformerDecoderLayer(d_model=d_model, nhead=nhead) self.decoder = nn.TransformerDecoder(decoder_layer, num_layers=num_layers) def forward(self, tgt, memory): return self.decoder(tgt=tgt, memory=memory) ``` 通过这种方式,RT-DETRv3 实现了高效的目标检测流程,在保持高精度的同时大幅缩短了推理延迟。 --- #### 4. **与其他模型的关系** 值得一提的是,RT-DETRv3 并未完全抛弃经典的 CNN 技术,而是将其与 Transformer 结合起来形成混合架构[^4]。例如,它采用了 YOLO 系列中的 RepNCSP 模块替代冗余的多尺度自注意力层,从而减少了不必要的计算负担。 此外,RT-DETRv3 还借鉴了 DETR 的一对一匹配策略,并在此基础上进行了优化,进一步提升了小目标检测的能力。 --- ### 总结 综上所述,RT-DETRv3 的网络结构主要包括以下几个关键组件:基于 CNN 的辅助分支、自注意力扰动学习策略、共享权重解编码器分支以及混合编码器设计。这些技术创新共同推动了实时目标检测领域的发展,使其在复杂场景下的表现更加出色。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值