关于用户访问请求慢,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维护、部署模式切换等常见操作,将分散的手工操作转化为可审计的传输请求流程,有效降低系统复制、环境刷 阅读详情

相关推荐

arduino uno spi驱动12864

arduino uno spi驱动12864

yvee的博客 2060

什么是TTFB

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

晓得博客 4585

抖音私信卡片私信名片的原理分析

简单说一下它的功能吧:抖音私信卡片,解决了客户封号严重、引流效率低的痛点,所以从去年到现在,依然是热销品。"抖音快手私信名片链接跳转"是2022年抖音快手引流最新技术,可以生成卡片链接,支持标题、描述、logo以及跳转落地页的完全自定义配置.支持微信公众号和微信号复制唤起微信客户端app添加,同时也支持任意链接落地页跳转提高粉丝引流转化率,关注转化率,引流转化率,安全绿色私信卡片功能1、跳转微信用户点击卡片,自动跳转微信界面,显示好友和群聊二维码2、跳转链接用户点击卡片,自动跳转到指定链接,支持任意链接。3

m0_71385839的博客 5189

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

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

花语无痕的博客 1万+

VS Code 配置 LaTeX 写作环境完全指南

本文详细介绍了如何在 VS Code 中配置 LaTeX 写作环境,涵盖了从安装必备组件到高级功能的全面指南。首先,用户需要安装 LaTeX 发行版(如 TeX Live 或 MiKTeX)和 VS Code 插件(如 LaTeX Workshop)。接着,通过修改 settings.json 和 keybindings.json 文件,用户可以自定义编译、查看快捷键等基础配置。文章还提供了高效写作技巧,如使用代码片段和多文件项目管理,并介绍了高级功能如反向同步、公式预览和参考文献管理。此外,针对常见问题(

weixin_70043030的博客 1984

《YOLOv8:从入门到实战》报错解决 & 专栏答疑

《YOLOv8:从入门到实战》专栏上线后,部分同学在学习过程中提出了一些问题,笔者相信这些问题其他同学也有可能遇到。为了让大家可以更好地学习本专栏内容,笔者特意推出了该篇专栏答疑,针对同学们在学习过程中所提出的问题进行汇总记录,并不断实时更新,希望能够帮助到大家!🌈

小哥谈 1241

TTFB响应时快时慢问题解决

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

cherry_chenrui的博客 3075

UniRx之基本语法格式

想要更好的去学习UniRx,我们最好是先理解UniRx 的语法格式。就像我们去学习英语或者汉语一样,理解了基本的语法规则后,再学其他的就信手拈来了。

TxNet 924

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

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

weixin_29130215的博客 565

VSCode 配置 Claude Code 插件的 4 步安装法与 3 类常见报错解决方案

介绍 VSCode 中 Claude Code 插件的 4 步可靠安装流程与 3 类高频报错(上下文丢失、认证失败、加载卡死)的根因分析和精准修复方案,聚焦文件上下文捕获机制、请求头注入要求及缓存失效逻辑,提供可验证的命令行操作与日志定位方法。

weixin_28728443的博客 495

【ComfyUI专栏】安装Triton组件

Triton是一款支持大模型推理的深度学习加速组件,最初仅支持Linux平台,现已通过开源社区适配Windows系统。针对SageAttention的安装,建议使用3.2.0Post10版本(该版本提供封装好的安装包,更高版本仅有源码)。用户可通过GitHub获取安装资源,或直接使用pip命令"pip install triton-windows"进行安装。安装时需注意:1)在虚拟环境中操作;2)使用管理员权限。相关资源链接已在文中提供。

技术与管理的平衡木- 1861

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

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

weixin_30741653的博客 1244

后悔没早点知道!用AI只需四步,一次性讲清高质量论文引言写法(附公式+AI指令)

帮我写SCI 论文撰写引言的“研究背景与重要性”,要求从本研究所属领域的小背景切入,使用现在时态描述该领域的总体状况与发展趋势,突出其在学术研究、实际应用或社会层面的重要价值,并通过一个吸引人的钩子开头,如关键事实、现实问题或学术热点,引导读者关注本主题的重要性。梳理你所在领域和你研究相关的关键成果,但不能罗列所有文献,重点抓核心脉络,这部分最重要的实际上是让你了解别人的研究脉络,然后在每个关键的节点上,引用几篇关键参考文献作支撑,来体现你对领域的熟悉度就可以了。3)研究缺口模糊,没法突出问题的真实价值;

qq_64378896的博客 116

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

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

pwk_888的博客 2095

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

chrome查看请求加载时间

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

树上骑个猴的博客 3万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

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

PHP程序员 - muzihao2014 5万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

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、付费专栏及课程。

余额充值