网页加载waiting(TTFB)时间过长的解决方案参考

2024-03-20 15:38

本文主要是介绍网页加载waiting(TTFB)时间过长的解决方案参考,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境:windows+thinkphp+apache+mysql

问题描述:

开发服务器上有个项目,总是时不时的会出现加载时间特别长的情况,有时4、5秒,有时11、12秒才能看到最终的页面,如图:

 

解决过程:

首先是百度,这么多年养成的习惯,没办法。百度上一搜,会出来各种关于“waiting(TTFB)时间过长”的解决方案,但一一看过之后,都无法解决我的问题。毕竟,每个人碰到的情况都不一样。

既然百度不灵了,我只能用排除法。

首先,操作系统层面的原因,基本是可以排除的,那么多人都在用,如果有问题,那肯定不是我一个人能解决的了。

thinkphp,因为后来发现,开发服务器上所有的项目,都会时不时的出现这个问题,而这些项目都是基于thinkphp开发的,这么一想,thinkphp的嫌疑最大,没跑了,肯定就是你!但后来经过严谨的测试,发现thinkphp对于请求的整个处理时间,始终维持在0.2秒以内,看来这个锅不能让thinkphp来背,冤枉它了。

接着是mysql,这个很快就被排除了,因为我访问的页面,只是一个简单的登录页面,根本就没有数据库方面的任何处理。

最后是apache服务器,如果上面的几个因素都没问题,那只能是你了,但是很遗憾,经过和本地对比,apache服务器也没问题!

那么,问题究竟出在哪?我试着在本地和开发服务器上,搭建了一个一模一样的运行环境,结果本地每次都是妥妥的秒开,没有丝毫卡顿现象!这么一来,我真的没有头绪了,就这样,问题一直被搁置了5、6 个月,这期间,只能忍受着开发服务器抽风似的时好时坏。

最终解决:

时间,来到了2018年4月,有一天,同事又开始大发牢骚了,他说:测试环境什么鬼?现在是越来越慢了,受不了了!

“越来越慢”,一语惊醒梦中人。当时我好像被闪电击中了一般,灵光一现,隐隐中,感觉离解决问题就一步之遥了!

什么会导致越来越慢?日志!这个词在我脑海中一闪而过!只有日志,每天日积月累,最终影响磁盘I/O的性能,从而对我们的程序造成影响。那究竟是什么日志呢?数据库日志,程序日志,apache日志,我一一检查了下,结果苍天不负有心人,看到apache日志的时候,我惊呆了,一个access.log日志文件,竟然达到了800多M,都快一个G了!看来罪魁祸首就是你了,果断的删除它,然后给apache日志做了按天归档处理。

再次访问开发服务器,秒开的感觉,就是爽!

在此也提醒广大同胞们,apache服务器安装好后,一定要做按天归档处理,不要图省事,将所有日志放在一个文件中。

另外,如果你的项目是基于Zend Server部署的,请记得关闭以下参数,因为我发现,这些参数开启后,也会时不时的出现waiting(TTFB)时间过长的情况。

这篇关于网页加载waiting(TTFB)时间过长的解决方案参考的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/829937

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

批处理以当前时间为文件名创建文件

批处理以当前时间为文件名创建文件 批处理创建空文件 有时候,需要创建以当前时间命名的文件,手动输入当然可以,但是有更省心的方法吗? 假设我是 windows 操作系统,打开命令行。 输入以下命令试试: echo %date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2% 输出类似: 2019_06

禁止复制的网页怎么复制

禁止复制的网页怎么复制 文章目录 禁止复制的网页怎么复制前言准备工作操作步骤一、在浏览器菜单中找到“开发者工具”二、点击“检查元素(inspect element)”按钮三、在网页中选取需要的片段,锁定对应的元素四、复制被选中的元素五、粘贴到记事本,以`.html`为后缀命名六、打开`xxx.html`,优雅地复制 前言 在浏览网页的时候,有的网页内容无法复制。比如「360

js异步提交form表单的解决方案

1.定义异步提交表单的方法 (通用方法) /*** 异步提交form表单* @param options {form:form表单元素,success:执行成功后处理函数}* <span style="color:#ff0000;"><strong>@注意 后台接收参数要解码否则中文会导致乱码 如:URLDecoder.decode(param,"UTF-8")</strong></span>

【MRI基础】TR 和 TE 时间概念

重复时间 (TR) 磁共振成像 (MRI) 中的 TR(重复时间,repetition time)是施加于同一切片的连续脉冲序列之间的时间间隔。具体而言,TR 是施加一个 RF(射频)脉冲与施加下一个 RF 脉冲之间的持续时间。TR 以毫秒 (ms) 为单位,主要控制后续脉冲之前的纵向弛豫程度(T1 弛豫),使其成为显著影响 MRI 中的图像对比度和信号特性的重要参数。 回声时间 (TE)

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例 3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例 4.基于SSM的高校实验室管理系统+LW参考示例 5.基于SpringBoot的二手数码回收系统+原生微信小程序+LW参考示例 6.基于SSM的民宿预订管理系统+LW参考示例 7.基于