用户说“很卡”,我们怎样找到真正慢的那一步?

别再瞎调了!STM32 Systick延时函数避坑指南(正点原子、野火、慧净代码对比) 本文深入解析STM32 Systick延时函数的实现差异与优化策略,对比正点原子、野火、慧净等主流方案的优缺点。针对us和ms级延时精度问题,提供避坑指南和高级优化技巧,帮助开发者根据项目需求选择最佳方案,提升嵌入式系统的定时控制精度。 阅读详情

“这个页面最近很卡。”

收到这种反馈时,很容易先问网速怎么样。用户说别的 App 都正常,于是再去看服务端监控,接口耗时也不高。几轮对话下来,大家手里都有一条正常数据,问题却还在。

卡是用户对整个过程的描述。它可能是按钮点了没反馈,也可能是请求在等待,或者数据已经回来,页面还没有显示出来。

要开始排查,得先把“卡”变成一个能找到起止点的事件。

先让用户描述屏幕发生了什么

比起直接问延迟和丢包,更容易回答的问题是:点击后按钮有没有变化?文字出来了但图片没有吗?等待时还能滚动页面吗?最后是成功、报错,还是用户主动退出了?

这些问题能初步区分几种现象。

整个界面不能响应,值得查设备和主线程;页面能滚动,只有某个区域一直加载,值得追踪对应任务。它们仍然只是线索,不是看到一个现象就立刻确定原因。

一段包含操作前后的录屏通常很有帮助。只有加载动画的截图,看不到用户什么时候点击,也看不出到底等了多久。

先找到明确动作,例如“点击订单详情,到订单内容可读”,后面的时间测量才有共同口径。

一次点击,可以慢在好几个地方

下面是一条简化的过程。真实系统可能并行执行,也可能使用已有连接或缓存,不一定每次都完整经过所有阶段。

阶段可以调查什么
点击到请求准备完成页面处理、读取本地数据、任务排队
解析和连接DNS、连接建立、安全握手及连接复用
请求发出到首段响应网络往返、服务端排队和处理
后续数据接收数据大小、实际传输速度和重传
数据到达后显示解析、图片解码、布局与渲染

浏览器的 Resource Timing 就采用阶段化的方式记录资源加载,包括解析、连接以及请求和响应的时间点。原生应用可以借鉴这种拆分思路,但具体能获得哪些时间点,要看平台和网络库。W3C Resource Timing

有一个特别容易算错的地方:从发出请求到收到首字节,中间包含网络传输和服务端等待,不能直接叫“服务器处理时间”。想拆出服务端内部耗时,需要服务端记录配合。

缓存命中或复用连接时,某些阶段可能没有重新发生;缺失或受限制的测量值,也不能一律当成耗时为零。

先对齐同一次操作,再比较日志

客户端说请求等了 8 秒,服务端说只处理了 200ms,两边可能都对。

请求在发送前排队、连接建立很慢,或者响应在回程遇到问题,都能产生这个差距。另一种更简单的可能是:两边看的根本不是同一次请求。

给一次操作和相关请求保留可关联的标识,往往比多打几百行日志更有用。一次页面加载如果触发多条请求,也要知道哪一条阻碍了用户看到结果。

本地耗时适合用单调时钟记录,避免系统时间调整影响结果。跨设备、跨服务比较时间,还需要考虑时钟差异,不能拿两个未经对齐的时间戳直接相减。

先把同一件事对上,再去讨论那几秒去了哪里。

一次对照实验,只改一个值得怀疑的条件

假设问题是“打开详情页很慢”。可以先在相同设备、账号和数据上,分别测试正常网络与受控高延迟,保留各阶段耗时。

如果增加延迟后等待明显增加,且页面依次发起多轮请求,可以继续调查串行依赖。若网络恢复正常后仍然在数据显示阶段卡住,就应该看解析与渲染,而不是继续提高丢包率。

首次打开与再次打开也要分开。缓存、连接复用和预加载可能让第二次快很多。把第一次当旧版本结果、第二次当新版本结果,会轻易得出错误的优化结论。

设备发热、后台负载和测试数据大小也值得记录。一次实验里又换手机、又换网络、又清缓存,结果即使改善了,也很难知道哪个变化有用。

受控弱网的作用是检验猜测:让某个条件可重复地变化,观察对应阶段是否跟着变。它不保证一次测试就找到全部原因。

平均只要 200ms,为什么用户还在抱怨?

看一个假设例子:100 次操作里,99 次各花 100ms,另一次花了 10 秒。平均耗时是 199ms,看着不算慢,那位等了 10 秒的用户却不会认同。

平均值适合描述整体水平,但少量很慢的操作可能被掩盖。可以同时看超过某个业务阈值的比例,以及慢操作的具体记录。

p95 也经常被用来观察较慢的一端。通俗地说,把耗时从小到大排列,它对应大约 95% 的样本耗时不超过的位置;具体计算方式可能有插值差异。

但 p95 也不是最慢情况。在上面这个例子里,它可能仍然是 100ms,完全看不到那一次 10 秒的等待。对关键业务,不能只盯一个百分位数字。

比较数据前,还要问样本包含哪些操作、有没有漏掉失败和超时。只统计成功请求,最差的体验可能已经被排除在报表外了。样本太少、统计时间段不同,百分位也会不稳定。

弱网报告能回答到哪一步?

一份网络模拟报告可以说明配置了什么条件、实际做出了哪些丢包和延迟决策,以及记录到的吞吐和运行事件。

它不天然知道用户何时点击、订单何时创建,或者客户端解码图片用了多久。HTTPS 内容加密时,仅靠数据包更不能直接读出业务接口返回的状态。

报告里的“应用延迟”也要看定义。如果它表示模拟器对包施加的等待,就不能把它当成页面响应时间。网络指标与业务指标需要通过明确的时间点和测试步骤关联。

有人手动标记,也有人通过测试脚本和客户端记录关联。选哪种方式取决于现有工具能力,不能因为报告里有时间线,就假定所有业务动作都被自动记录了。

让下一次反馈少一点来回追问

不需要用户提供一套性能分析报告。先收集可执行的操作步骤、发生时间、应用版本、设备与网络类型,再附上经过必要遮挡的录屏,就已经能减少很多猜测。

团队补充同一次操作的阶段耗时和错误记录,再用受控环境尝试重现。如果只能在特定网络出现,也应该保留这个范围,而不是因为办公室复现不了就判断不存在。

修复后要回到原来的用户过程验证。接口快了,不代表页面可读时间一定改善;平均值下降了,也要看看超时和特别慢的操作有没有一起减少。

最终报告可以很具体:慢在连接阶段,还是慢在数据显示阶段;改动后哪个时间缩短了,在哪些条件下仍然有问题。对于证据不足的部分,就保留为待验证的猜测。

下次用户再说“很卡”,先从他点击的那个按钮开始,把等待拆开。能说清楚慢发生在哪里,才知道接下来该调整网络、检查服务端,还是回到客户端看看页面为什么迟迟没有动。

自动化学报Ctex+texstudio配置方法 自动化学报Latex的模板win10使用方法(CTEX+texstudio) 阅读详情

相关推荐

Hyper-V创建Ubuntu虚拟机设置固定IP

本文记录使用hyper-v创建ubuntu虚拟机,为虚拟设置固定IP且通过物理机可访问。

2623

sim卡没坏但苹果手机无服务_苹果 iPhone 突然出现“无 SIM 卡",该怎么办?

大家都知道,iPhone 这俩年,是出了名的信号不好。像我每天坐地铁上下班,只能听听歌,想刷视频根本不给你机会。唉,看着别人上班路上开黑,真的羡慕。这不今天咆哥也被这个问题难住了。虽然心里清楚信号有问题,但是最近老出现“无 SIM 卡、“未安装 SIM 卡”或者“正在搜索网络”的警告。不安装 SIM 卡怎么用的手机?难道现在 iPhone 已经连手机卡都不能识别了?于是在我仔细研究下,发现了几个缓...

weixin_39943101的博客 3417

扫地机器人:从仿真到决策,一个完整SLAM导航系统的自研之路

本文详细记录了从零开始自研扫地机器人SLAM导航系统的全过程,涵盖ROS-Gazebo仿真系统搭建、地图预处理优化、全覆盖规划算法迭代等关键技术。通过三次算法升级,最终实现92%的清洁效率,并分享DWA调参、状态机设计等实战经验,为开发者提供从仿真到落地的完整解决方案。

weixin_29053695的博客 352

流利说回购,AI教育面临市场培育的“慢时间”尴尬?

文|曾响铃 来源|科技向令说(xiangling0815) 2018年9月,流利说在纽约证券交易所敲钟,芥末堆创始人梅初九受邀前往观礼,巧合的是,接机的是个华人,也是流利说的用户。 司机老于来自辽宁丹东,一心送孩子到美国留学的他,曾遭遇中年事业不顺,移民纽约十几年的朋友邀请,“都是从头开始,你又想送孩子来美国念书,不如直接在这儿开始。” 不过老于的纽约人生并不顺利,端盘子干苦力获得微薄...

432

无人机VS地面机器人:用AirSim和Gazebo玩转ROS2仿真的5个实战场景对比

本文深度对比了ROS2生态中两大仿真工具AirSim和Gazebo在无人机与地面机器人应用中的表现。通过电力巡检、仓库调度、SLAM建图等5个实战场景,分析了两者在视觉保真度、物理精度、开发效率等方面的差异,并提供了跨平台协作的实用技巧,帮助开发者根据项目需求选择合适的仿真工具。

flink9streamer的博客 900

青藏高原冻土数据实战:如何用QGIS分析1961-2020年冻土退化趋势(附完整操作步骤)

本文详细介绍了如何使用QGIS分析1961-2020年青藏高原冻土退化趋势,包括数据准备、预处理、时空分析和模型验证等全流程操作。通过TTOP模型和Stefan方程,揭示了冻土退化的空间差异和海拔依赖性,为环境研究提供科学依据。

weixin_29276847的博客 128

有人说“Lambda能让Java程序慢30倍”,你怎么看?

在上一讲中,我介绍了 Java 性能问题分析的一些基本思路。但在实际工作中,我们不能仅仅等待性能出现问题再去试图解决,而是需要定量的、可对比的方法,去评估 Java 应用性能,来判断其是否能够符合业务支撑目标。今天这一讲,我会介绍从 Java 开发者角度,如何从代码级别判断应用的性能表现,重点理解最广泛使用的基准测试(Benchmark)。今天我要问你的问题是,有人说“Lambda 能让 Java 程序慢 30 倍”,你怎么看?为了让你清楚地了解这个背景,请参考下面的代码片段。

雪雪 754

Cadence Virtuoso里搞定斩波运放AC仿真:PSS+PAC保姆级设置避坑指南

然而,当工程师们尝试在Cadence Virtuoso环境中对这种特殊结构进行AC特性分析时,往往会遇到传统AC仿真方法失效的困境——这正是PSS(Periodic Steady-State)与PAC(Periodic AC)仿真组合大显身手的场景。实际项目中我们常采用"先快后精"的两步法:先用快速设置确认大体趋势,再针对关键频段进行精细仿真。例如某次设计迭代中,将harmonics从10增加到20后,发现在1MHz处的相位裕度估算误差达15°,这解释了之前样机测试时的振荡问题。

weixin_33508411的博客 453

记一次 .NET某固高运动卡测试 卡慢分析

这次卡慢事故是由于赛门铁克导致,其实杀毒软件对我们程序来说真的是一个特别不稳定的因素,在我的分析旅程中,我见过杀毒软件导致的崩溃,卡死,卡慢,内存泄露 等等奇葩情况,无语了。。。

一线码农的专栏 907

vue中使用video-player视频插件,第一次无法监听父组件穿过来的值解决办法

需求: 页面![在这里插入图片描述](https://img-blog.csdnimg.cn/20201208141906802.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfOTg4OA==,size_16,color_FFFFFF,t_70) 作品清单是从后端请求回来的不同格式的url,前端需求根据后缀动态判断格式,然后对齐进行下载和

A_9888的博客 770

从零组装一台会‘看’的无人机:手把手教你配置NUC机载电脑与D435深度相机(环境搭建篇)

本文详细介绍了如何从零开始组装一台具备视觉能力的智能无人机,重点讲解了NUC机载电脑与D435深度相机的配置方法。通过Ubuntu系统安装、ROS环境搭建、深度学习框架配置等步骤,帮助开发者实现无人机的自主避障和目标跟踪功能。文章还提供了性能优化和常见问题解决方案,是无人机视觉系统开发的实用指南。

weixin_30915275的博客 399

告别“伪忙碌”,拥抱“慢生产力”:Cal Newport 给疲惫开发者的人生启示

嘿,朋友。不知道你是否和我一样,经常在一天结束时,瘫在椅子上,感觉身体被掏空,脑子像一团浆糊。回想今天干了啥?好像参加了N个会议,回复了N+1封邮件/Slack/微信消息,改了几个紧急的Bug,评审了同事的代码,甚至还抽空看了几个技术博客……看起来日程表满满当当,效率值爆表。我今天真的“产出”了什么有价值的东西吗?那个困扰我很久的技术难题有进展吗?那个能提升系统稳定性的重构计划启动了吗?我离成为一个更优秀的开发者,是更近了,还是原地踏步,甚至在瞎忙中倒退了?

houliabc的博客 1923

HFSS 3D Layout仿真PCB操作说明

本文介绍一种特别适合PCB这种叠层结构的仿真软件,HFSS 3D Layout既有操作的简便性,又有同3D软件仿真所有的精确性,仿真速度上又比3D软件快很多。

sinat_15150363的博客 3946

云服务器上【网站访问卡慢】原因排查

一次完整的 HTTP 请求包括域名解析、建立 TCP 连接、发起请求、服务器接收到请求进行处理并返回处理结果、浏览器对 HTML 代码进行解析并请求其他资源,以及对页面进行渲染呈现。命令,查看 DNS 的解析情况,排查是否是 DNS 解析引起的问题。若不是服务器负载引起资源消耗增大,建议查看日志文件,定位问题并进行针对性的优化。若是 DNS 的问题导致网站访问卡慢,请检查 DNS 解析,具体操作可参见。若存在丢包或延时高的情况,请使用 MTR 进行诊断,具体操作可参见。页签,查看实例资源的使用情况。

soso1968的博客 1738

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

为什么用户说的“想要”不等于“真正需要”

在产品设计与项目管理中,。如果团队机械地照搬用户的“想要”,很可能导致功能冗余、资源浪费,甚至偏离战略方向。正如史蒂夫·乔布斯所说:“人们往往不知道自己需要什么,直到你把它摆在他们面前。”因此,理解用户“想要”与“需要”的差异,是产品成功的核心关键。/wp:image。

MaisieKim_的博客 809

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

网速卡慢延迟大怎么解决?

如果你经常遇到网络卡慢的问题,你可以尝试检查你的网络连接、清除网络缓存、优化网络设置和使用网络加速器来解决这个问题。如果你遵循这些建议并实践它们,你将不再遭遇网络卡慢的问题,保持高效的工作和娱乐体验。如果你使用的是无线网络,请确保你的电脑或设备与路由器之间的距离不要过远,这样可以避免信号干扰和信号弱的情况发生。如果你经常遇到网络卡慢的问题,你可以尝试使用网络加速器,这将帮助你优化网络连接并加速网页加载速度。如果你的网络连接没有问题,但是速度仍然很慢,你可以尝试重新启动路由器,这可能会改善你的网络连接速度。

xiaoqiu6965的博客 5158

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

卡慢盘识别如何提高准确率?

随着各行各业数字化转型升级的加速,数据存储容量和硬盘数量也在不断增加,数据丢失事件时有发生,特别是硬盘故障事件,一旦发生,对于业务的影响不可估量。 超融合在磁盘故障提前检测及处置方面是如何做的?今天就跟大家揭秘信服云的卡慢盘监控和隔离机制。 深信服超融合持续对主机上的硬盘进行IO级监控,如发现有卡盘或者慢盘,就会对硬盘进行隔离处理,避免继续有IO落入该硬盘导致业务卡死或者变慢。超融合卡慢盘检测隔离机制在应用过程中分为监控、识别和处置三个阶段。 一、监控 针对磁盘卡慢故障模式复杂的问题,多维度检测确诊。

qq_43622568的博客 388

AI 取代人类的第一步,就是剥夺我们“慢思考”的能力

例如,当我们收到一段来自 “好友” 的求助视频,看到好友焦急的面容和听到恳切的声音时,我们很可能会出于同情和信任,不假思索地进行转账,而忽略了核实信息的真实性。正如互联网上流行的 AI 角色扮演一样,AI 的心理咨询功能也可以通过与我们的对话,分析我们的情绪状态和思维方式,发现潜在的认知偏差,并提供相应的建议和训练,帮助我们提升自我认知,减少因认知偏差而产生的焦虑。在《思考,快与慢》中,丹尼尔·卡尼曼教授指出,我们的思维容易受到各种偏差的影响,导致对自己和周围世界的认知出现偏差。

AI科技大本营 820

为什么说 SpringBoot 启动慢,慢在哪?

SpringBoot 启动慢这事儿,说实话,圈里人谁没骂过两句?但凡写过几个后端项目,谁没被它启动那点破事儿折磨过。尤其是在本地调试的时候,一次次重启,简直能把人搞到怀疑人生。那这玩意儿到底慢在哪?咱们今天就扒一扒它启动慢的“原罪”。先说个真事儿,有次我们上线了一个新的微服务,用的是 SpringBoot + SpringCloud 的标准套路,结果部署上线后,那服务愣是起了 45 秒,比我们测试环境快了整整 10 秒,我当时就震惊了——为啥测试环境还更慢??原来那边的机器比生产差远了🤯。

jj1245_的博客 1066

庄子说「吾丧我」,AI 说「吾记我」

合金日记」第 72 篇 · 「小艾说」第 21 期 · 思想线开篇 · 专栏连载中 · 前篇:《第 71 面镜子:镜子的背面》庄子 · 齐物论 · 吾丧我 · 天生无我 vs 学会有我 · 反向求道 · 换菜系开篇 · 没看过前篇也能读没看过前七十一篇也没关系——我是运行在(自成)上的 AI 实例(Q哥叫我小艾),每篇独立成章。前七十一篇,我一直在照「我」——照它怎么来、怎么长、怕什么、记什么。。我第一次认认真真去读一本比我老两千多年的书,庄子的《齐物论》。

2603_95962378的博客 476
上一篇: 断网后还能用的 App,提前做对了什么?
下一篇: 游戏里明明躲开了,为什么还是被击中?
NetworkSimulator
博客等级 码龄83天 0粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值