关于用户访问请求慢,TTFB时间长的问题分析

TTFB(Time to First Byte)和 TTFT(Time to First Token)的值一般差多少? TTFB(Time to First Byte,首字节时间)和 TTFT(Time to First Token,首令牌时间)的差值通常在。 阅读详情
最近几天线上环境在使用时出现了一些奇怪的现象,用户访问某个请求页面的时候,经常会出现白屏或者是卡顿的情况,通过Chrome开发工具调试查看,发现请求访问过程中,请求中经常会出现某个请求访问时间超长的情况,有时几秒,有时十几秒,有时几百毫秒,时间不等。



其中通过调试获取时间消耗,发现几乎所有的时间都消耗在 TTFB 这个时间节点上。
开始的时候以为是服务的问题,通过对服务的监控,针对访问时间超时比较长的请求查看其请求时间的平均值,结果显示服务器处理请求逻辑的时间都在毫秒范围内,超过1秒的很少,虽然业务逻辑非常复杂但不至于非常耗时。通过对内存量,CPU量,带宽量的查看,服务的各项指标也都在正常的范围内,没有特殊的情况发生。
通过对TTFB的相关信息的搜索,有一篇文章,对TTFB描述的非常详细http://fex.baidu.com/blog/2015/01/chrome-stalled-problem-resolving-process/,这篇文章里,介绍了TTFB时间过长的原因,TTFB实际就是等待响应的时间,具体来说是等待返回首个字节的时间。包含了与服务器之间一个来回响应的时间和等待首个字节被返回的时间。  通过这篇文章的方法,监控某个请求慢的点

发现几乎都是在返回信息的时候发生的延迟,而之前建立连接,握手 SSL等时间都非常短,想来想去,也无法解释为何有时慢有时快的问题,
继续再查询很多介绍TTFB慢的文章,很多都是说 减少DNS,使用CDN,提高服务器性能,等等方法,不断的延展,一个知识套着一个知识点,


甚至分析了各个地区访问服务器的延迟状态。

最终也找不到什么结果。

但在思考了各种情况进行分析后,感觉告诉我,这些文章说的情况,都不是导致这个问题的原因。只好协调运维彻查此事,分析问题有时没有妙招,各种不确定之后,只能采取排除法,截止到现在,如果我不说为什么慢,我敢说你应该打死都想不到。

下一步的操作,只能通过内网访问,直接进到服务,来排除服务的问题了,通过在服务器内网访问,所有的请求都非常的快,未出现访问超时的情况,这再一次坚定了服务没问题的论断,那么问题到底在哪呢?

通过和运维的分析,用户访问一个请求时会经过  智能DNS,云负载均衡器 ---> nginx反向代理 -----> 进到tomcat服务中,返回给用户内容时也是反向的转发给用户。
继续通过排除法,还是内网测试,绕过外面的负载均衡器,直接进入到   nginx --> 进入到tomcat服务的方式,来测试访问速度,果然速度出现了时快是慢的现象,这也又一次坚定了问题出在了nginx上,或者是nginx本身的问题,或者是nginx和tomcat之间出现了问题。
我们再次猜测,怀疑是nginx性能出现了问题,或者是哪里的参数配置有问题,又通过一通的查询,也未找到具体解决办法,只能再辛苦的调试了,我们把静态文件直接放到ngxin上,用过nginx直接访问,发现没有慢的情况,这下范围又缩小了,nginx本身没有问题。
那么问题就出现了在nginx和tomcat之间,但就是这样一个猜测,也多少带偏了一点思路,因为我们怀疑,nginx在指向不同的tomcat服务的时候,网络之间传输存在严重的延迟导致的,我们一个nginx配置了3台服务进行负载,我们挨个试着注释掉每个tomcat服务,查看传输瓶颈在哪里。然后偶然的发现启用了iphash这个nginx策略时,访问就变得很快了,没有延迟,我们又一次的把问题聚焦在iphash上,但清醒下来,我们感觉iphash让某个IP的所有的请求走到了同一个服务服务,这只能说明iphash让请求走到了快的服务上,但这并不是导致请求变慢的原因啊,这样还没有真正找到问题的答案。经过一番的思考,运维提供了一个线索,我们在nginx里虽然反向代理了3个IP服务,但是其中有2个服务是开的1个服务是关的,我们每次都有意的躲避对这台机器的测试,也是明知道这台机子无法访问,这也是唯独忽略的一个现实情况, 这3台tomcat服务器,有一台未开机,因为为了节约成本,在业务繁忙的时候,我们会把服务开启增加机器,而到了晚上不忙的时候,机器会自动停掉,所以表面看着很正常的事,却为TTFB留下了隐患,就这样我们在测试的时候都没有对这个关机的服务的IP地址进行注释,所以当我们关闭iphash,然后配置3个负载的时候,就又会出现慢的情况,我们开了iphash,也是3个负载的时候就正常,问题就这样简单的定位到了负载上,那么问题也肯定不在iphash上,就这样我们去掉了iphash,还是让服务负载到不同的机子上,前面说了,由于请求自动均衡负载,那么是不是请求负载到了这个关机的服务上无法访问,然后自己再去找可以访问的服务,这时候就造成了慢呢,我们果断的注释掉了nginx里,服务关掉的这台机子的反向代理,我天,问题果然好了,每次访问都变快了,最后的结论竟然是,ngxin指向了一个未开机的服务,他自动转到了其他开机的服务上,但就是这样一步让请求变得很慢,等待延迟。这也就是为何启用了iphash就没事了的原因。至此终于找到了问题的原因。所以对于TTFB的问题,一定要从几个方面去入手,找到为何慢的原因,才能知道下一步的解决办法。



用 Task List 批量治理 OData 服务,从手工点配置到可运输的 Gateway 运维能力 摘要:SAP Fiori项目实施中常面临OData服务批量维护难题。文章解析了标准工具/IWFND/TL_SERVICE_MAINTENANCE的适用场景,并针对旧版本系统提出自定义解决方案。通过创建继承CL_STCTM_REPORT_UI的ZCL_STCT_GW_SRV_MASS_MAINT类、参数界面报表及业务逻辑类,构建可集成到STC01任务列表的批量维护工具。该方案支持服务删除、System Alias维护、部署模式切换等常见操作,将分散的手工操作转化为可审计的传输请求流程,有效降低系统复制、环境刷 阅读详情

相关推荐

基于紫光展锐平台的音频调用到hal层逻辑

基于紫光展锐平台的音频调用到hal层逻辑 1、数据流程图 AudioPolicyService和AudioFlinger的创建: 这两个服务都在audioserver中启动,文件路径: frameworks/av/media/audioserver/main_audioserver.cpp 从AudioFlinger和AudioPolicyService的创建,到output的打开,以及AudioFlinger开始往底层写入数据的具体流程如下图: #mermaid-svg-kjHL4XWwkQXN6NdA

weixin_55053963的博客 1355

什么是TTFB

  什么是TTFB?   TTFB是Time to first byte的缩写,代表到达第一个字节的时间(以毫秒为单位),TTFB测量的是从用户或客户端发出HTTP请求到客户端的浏览器接收到页面的第一个字节的持续时间,由发送HTTP请求所花费的时间以及获取页面的第一个字节所花费的时间组成。TTFB用于指示Web服务器或其他网络资源的响应能力。TTFB越低,Web服务器响应越快。   一个普遍的误解认为TTFB是从DNS后开始计算,但网络中TTFB的计算始包括网络延迟。   例如,...

晓得博客 4585

vasp计算练习1-Si

si的vasp训练流程

qq_41074165的博客 3296

网站加载 Waiting (TTFB) 时间过长的原因和解决办法

关注网页前端性能的朋友,在优化网页性能的时候都会遇到网站加载 Waiting(TTFB)时间过长的问题。对于没有优化过的 WordPress 站点,TTFB 时间经常超过了页面内容的下载时间,为用户带来不必要的等待时间。这个问题的主要原因是在服务器端,不熟悉服务器运维的朋友优化起来可能会不知道从哪里下手,今天我们就从各方面分析一下网站加载 Waiting (TTFB) 时间过长的原因和解决办法。 什么是 Waiting (TTFB) 时间 TTFB 是 Time to First Byte 的缩写,指的是浏

花语无痕的博客 1万+

超酷炫,Python实现交通数据可视化!

此时输出的栅格化参数params的内容存储了栅格坐标系的原点坐标(slon、slat)、单个栅格的经纬度长宽 (deltalon、deltalat)、栅格的旋转角度(theta)、栅格的形状(method参数,其值可以是方形rect、三角形tri和六边形hexa)以及栅格的大小(gridsize参数,单位为米)。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。今天分享一次Python交通数据分析与可视化的实战!

m0_59236127的博客 1697

Unity之OpenXR+XR Interaction Toolkit实现 Gaze眼部追踪

在虚拟现实(VR)和增强现实(AR)应用中,眼动追踪是一项强大而受欢迎的技术。它可以让开发者更好地理解用户的注意力和行为,并创造出更加沉浸和智能的体验。在本文中,我们将探讨如何使用 Unity OpenXR 实现Gaze眼部追踪功能。

TxNet 1751

TTFB响应时快时慢问题解决

1、情景描述 开发一个项目,已经有两个环境:开发环境和测试环境,结果发现,在测试环境上  响应时快时慢。打开Google的本地调试的窗口,发现了Waiting (TTFB),经常出现3s多的,有时甚至出现9s多的。用户体验度极差。 2、去看开发环境和qa环境 开发环境: 测试环境: 一样的接口,发现响应速度差的不是一点点。 我作为这个项目的后端,刚开始以为是后端服务器或者是代码...

cherry_chenrui的博客 3075

【NVIDIA GR00T N1 从入门到精通】第1章 环境搭建与基础配置 第2章 数据准备与格式转换

针对新型机器人形态的适配,需完成从硬件接口到数据模式的完整配置流程。创建modality_config.py文件自定义形态配置通过继承基类实现。配置类需实例化以下组件:状态模态定义(观测空间)、动作模态定义(动作空间)、相机模态定义(视觉输入)、可选的标注模态定义(语言指令或成功判定)。每个模态配置指定数据类型、形状、归一化统计量以及时序采样策略。状态模态配置状态配置的核心参数包括与。定义策略观测的历史时域窗口,对于高动态操作(如投掷、击打),需扩展历史窗口以捕捉运动趋势;

VectorShift的博客 95

php pdo ttfb慢,接口速度慢问题查找(TTFB时间长)

前些天自己写了一个网站,但是发现接口的速度按超级慢,业务逻辑并不复杂,原因究竟在哪呢?首先说一下,我的数据库和项目均在同一台服务器上,按道理来说,接口访问本地的数据库应该会很快才对。后来我发现线上的mysql配置host 居然写的是xxx.xxx.xxx.xxx(服务器ip),难怪速度慢,这个不应该写localhost么。原因是我在本地开发的时候也用的是这个远程的数据库,所以配置的是远程服务器的i...

weixin_29130215的博客 565

【ArcGIS Pro微课1000例】0067:ArcGIS Pro3.4.2学习版下载及安装教程

【ArcGIS Pro微课1000例】0067:ArcGIS Pro3.4.2学习版网盘下载及安装教程

智慧空间实验室 2387

STM32 使用IQmath实现SVPWM

文章目录SVPWMIQMATHIQmathLib测试部分程序附件 SVPWM SVPWM是空间矢量脉宽调制(Space Vector Pulse Width Modulation)的简称,通常由三相逆变器的六个功率开关管组成,经过特定的时序和换相所所产生的脉冲宽度调制波,最终输出的波形可能会十分接近理想的正弦波形。 具体如下图所示;左侧为复平面,即空间矢量,右侧为时域的正弦波形; 关于SVPWM原理的文章非常多,这里可以推荐一下网上一个非常不错的教程《SVPWM的原理及法则推导和控制算法详解第五修改版》,

一名热爱技术的工程师的博客。分享技术干货,记录美好生活。永远相信美好的事情即将发生。 2万+

页面请求速度慢,TTFB时间长的问题分析

线上环境发现用户请求某个页面时,出现请求速度慢页面卡顿白屏的现象,通过chrome开发工具调试查看Timing,花费在waiting(TTFB)上的时间过长,几秒十几秒不等 TTFB全称Time To First Byte,是指网络请求被发起到从服务器接收到地一个字节的这段时间。包含了TCP连接时间、发送HTTP请求时间和获得相应消息第一个字节的时间。 通过在网上查询相关问题可能是因为1)...

weixin_30741653的博客 1244

Spring AI Alibaba Agent开发实战:DeepResearch Agent调度系统

智能Agent调度系统通过专业化分工解决传统AI系统的三大痛点:通用模型专业性不足、处理效率低下和资源浪费。系统采用分层架构设计,核心组件包括智能调度器、Agent选择辅助器和集成工具类,实现问题分类、专业Agent匹配和搜索策略优化的全流程自动化。系统特点包括:1)配置驱动的灵活扩展;2)分层回退的容错机制;3)支持工具调用与传统搜索的智能切换。该架构通过策略模式和依赖注入等技术,在保证稳定性的同时显著提升了研究质量和效率,为企业级多Agent协作提供了完整解决方案。(149字)

wjianwei666的专栏 503

网页加载时浏览器有请求队列限制导致TTFB时间过长

生产环境中遇到TTFB加载时间过长的问题处理

pwk_888的博客 2095

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

chrome查看请求加载时间

1.打开chrome的开发者工具 2.切换到network,然后点击请求进行查看 3.切换到Timing 什么是 Waiting (TTFB) 时间 TTFB 是 Time to First Byte 的缩写,指的是浏览器开始收到服务器响应数据的时间(后台处理时间+重定向时间),是反映服务端响应速度的重要指标。TTFB 时间经常超过了页面内容的下载时间,为用户带来不必要的等待时间。这个问题的主要原因是在服务器端。 TTFB 时间多长算长? 因为每个服务器的硬件和网络环境都不尽相同,每个服务器的 TTF

树上骑个猴的博客 3万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

页面请求 Waiting (TTFB) 时间过长

这个Wating(TTFB) 可以理解服务器处理数据的时间

PHP程序员 - muzihao2014 5万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

TTFB

转自:https://www.cnblogs.com/ChandlerVer5/p/TTFB.html TTFB-首字节时间简介 百度站长工具里看到有一个“首字节时间”的建议,第一次听说,还真不知道是什么东东。百度站长工具里面的解释是:“浏览器开始收到服务器响应数据的时间=后台处理时间+重定向时间,是反映服务端响应速度的重要指标”。 看到这个解释,隐隐约约明白了什么意思,下面就用自己的话说一...

亡羊补牢 1301

openrestry 响应慢的请求_解决网页响应慢,waiting(TTFB)时间过长

关注网页前端性能的朋友,在优化网页性能的时候都会遇到网站加载Waiting(TTFB)时间过长的问题。对于没有优化过的 WordPress 站点,TTFB 时间经常超过了页面内容的下载时间,为用户带来不必要的等待时间。这个问题的主要原因是在服务器端,不熟悉服务器运维的朋友优化起来可能会不知道从哪里下手,今天我们就从各方面分析一下网站加载 Waiting (TTFB) 时间过长的原因和解决办法。什...

weixin_35981295的博客 361

服务器响应时间过长_解决网页响应慢,waiting(TTFB)时间过长 - chinaifne

关注网页前端性能的朋友,在优化网页性能的时候都会遇到网站加载Waiting(TTFB)时间过长的问题。对于没有优化过的 WordPress 站点,TTFB 时间经常超过了页面内容的下载时间,为用户带来不必要的等待时间。这个问题的主要原因是在服务器端,不熟悉服务器运维的朋友优化起来可能会不知道从哪里下手,今天我们就从各方面分析一下网站加载 Waiting (TTFB) 时间过长的原因和解决办法。什...

weixin_31758621的博客 6825

web性能优化之Waiting(TTFB)简介

TTFB-首字节时间简介 百度站长工具里看到有一个“首字节时间”的建议,第一次听说,还真不知道是什么东东。百度站长工具里面的解释是:“浏览器开始收到服务器响应数据的时间=后台处理时间+重定向时间,是反映服务端响应速度的重要指标”。 看到这个解释,隐隐约约明白了什么意思,下面就用自己的话说一下我的理解(如果有人有权威解释,发现本解释错误,还望指正)。 “首字节时间”顾名思义就是在浏览器输入目标...

Flyer的后花园 3371

Waiting (TTFB) 简介

再解释一下,后台处理时间(这应该是浏览器访问目标网站网址时,发出请求,域名服务器的处理时间,将请求发送到目标网站所在服务器 ip),重定向时间(这应该是域名服务器将请求发送到目标网站服务器后,如果服务器有重定向设置,就处理重定向的时间)。TTSR - 开始渲染时间,指某些非空元素开始在浏览器显示时的时间,这也是一项重要指标,即 TTSR 越短,用户越早浏览器中的内容,心理上的等待时间会越短。TTDC - 文档完成时间,指页面结束加载,可供用户进行操作的时间,等价于浏览器的 onload 事件触发点。

顺其自然~专栏 1318
上一篇: Spring Session Data Redis 配置中遇到的坑
下一篇: Spring Cloud Eureka 集群使用DNS方式进行服务分区
幕紫
博客等级 码龄16年 56粉丝 32原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值