网页加载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

相关文章

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

问题-windows-VPN不正确关闭导致网页打不开

为什么会发生这类事情呢? 主要原因是关机之前vpn没有关掉导致的。 至于为什么没关掉vpn会导致网页打不开,我猜测是因为vpn建立的链接没被更改。 正确关掉vpn的时候,会把ip链接断掉,如果你不正确关掉,ip链接没有断掉,此时你vpn又是没启动的,没有域名解析,所以就打不开网站。 你可以在打不开网页的时候,把vpn打开,你会发现网络又可以登录了。 方法一 注意:方法一虽然方便,但是可能会有

加载资源文件失败

背景         自己以前装了一个海康的深度学习算法平台,试用期是一个月,过了一个月之后,因为没有有效注册码或者加密狗的支持了导致无法使用,于是打算卸载掉,在卸载一个软件的时候,无论是使用控制面板还是软件自带的卸载功能,总是卸载不掉,提示“加载资源文件失败”。该软体主要包括以下两部分: 用自带卸载功能卸载的时候分别提示如下:     用控制面板卸载的时候反应很慢,最后也是提示这个

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测

时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测 目录 时序预测 | MATLAB实现LSTM时间序列未来多步预测-递归预测基本介绍程序设计参考资料 基本介绍 MATLAB实现LSTM时间序列未来多步预测-递归预测。LSTM是一种含有LSTM区块(blocks)或其他的一种类神经网络,文献或其他资料中LSTM区块可能被描述成智能网络单元,因为

java中查看函数运行时间和cpu运行时间

android开发调查性能问题中有一个现象,函数的运行时间远低于cpu执行时间,因为函数运行期间线程可能包含等待操作。native层可以查看实际的cpu执行时间和函数执行时间。在java中如何实现? 借助AI得到了答案 import java.lang.management.ManagementFactory;import java.lang.management.Threa

vue同页面多路由懒加载-及可能存在问题的解决方式

先上图,再解释 图一是多路由页面,图二是路由文件。从图一可以看出每个router-view对应的name都不一样。从图二可以看出层路由对应的组件加载方式要跟图一中的name相对应,并且图二的路由层在跟图一对应的页面中要加上components层,多一个s结尾,里面的的方法名就是图一路由的name值,里面还可以照样用懒加载的方式。 页面上其他的路由在路由文件中也跟图二是一样的写法。 附送可能存在

时间服务器中,适用于国内的 NTP 服务器地址,可用于时间同步或 Android 加速 GPS 定位

NTP 是什么?   NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。 NTP 实现什么目的?   目的很简单,就是为了提供准确时间。因为我们的手表、设备等,经常会时间跑着跑着就有误差,或快或慢的少几秒,时间长了甚至误差过分钟。 NTP 服务器列表 最常见、熟知的就是 www.pool.ntp.org/zo

20170723 做的事 ecdsa的签名验证时间短于bls signature

1 今天在虚拟机 /home/smile/Desktop/20170610/Test//time_ecdsa 文件夹下,找到ecdsa的验证时间是 989.060606μs μs 先 make ,然后run。 再取BLS的签名生成时间: ./run  2  gnuplot 画图,画对比的时间 gnuplot 画图参考教程 http://blog.sciencen

Python几种建表方法运行时间的比较

建立一个表[0,1,2,3.......10n],下面几种方法都能实现,但是运行时间却截然不同哦 import time#方法一def test1(n):list=[]for i in range(n*10):list=list+[i]return list#方法二def test2(n):list=[]for i in range(n*10):list.append(i)#方法三d

VS2012加载失败

1、通过命令提示行工具进入VS安装目录下的Common7\IDE 2、执行devenv.exe /setup /resetuserdata /resetsettings 3、重启VS