什么是首字节时间(TTFB)
第一字节响应时间(TTFB)=从发送请求到WEB服务器的时间+WEB服务器处理请求并生成响应花费的时间+WEB服务器生成响应到浏览器花费的时间
测量第一字节响应时间(TTFB)的工具:http://www.webpagetest.org/
图片绿色部分为每个资源的第一字节响应时间(TTFB),建议最佳第一字节响应时间(TTFB)为500ms或500ms以下。
如测量网站的第一字节响应时间(TTFB)较长,可通过以下三块内容进行改善:
一、CDN减少内容和访问者之间的“距离”
将静态内容分发到CDN,CDN的内容自动复制到各个位置,在地理上更接近用户,从而减少TTFB的时间。
二、优化后端基础设施的性能减少服务器处理及响应时间
(1)避免网站与其他网站共享同一个服务器其他网站会占用自身网站服务器处理时间;
(2)避免网站使用虚拟主机系统如网站在一段时间未有流量产生,系统会推迟或暂停虚拟服务器,当新访客进入时,将重新进行服务器备份处理(10s或更长时间);
三、后端优化软件性能减少服务器生成的响应到浏览器的时间
(1)操作码缓存;
(2)服务器端缓存;
(3)本地缓存;
(4)W3总缓存;
(5)Batcache整页缓存;
总结
第一字节响应时间(TTFB)有三个组成部分:发送的请求通过网络传播到WEB服务器所花费的时间、WEB服务器处理请求并生成响应所花费的时间、WEB服务器生成的响应通过网络传播到浏览器所花费的时间;
可通过http://www.webpagetest.org/检测第一字节响应时间(TTFB),建议最佳第一字节响应时间(TTFB)为500ms或500ms以下;
如网站存在建议最佳第一字节响应时间(TTFB)较慢的现象存在,可通过:CDN减少内容和访问者之间的“距离”、优化后端基础设施的性能减少服务器处理及响应时间、后端优化软件性能减少服务器生成的响应到浏览器的时间。
什么是首字节时间(TTFB)的更多相关文章
- TTFB-首字节时间简介
百度站长工具里看到有一个"首字节时间"的建议,第一次听说,还真不知道是什么东东.百度站长工具里面的解释是:"浏览器开始收到服务器响应数据的时间=后台处理时间+重定向时间, ...
- 介绍开源的.net通信框架NetworkComms框架之一 首字节验证
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 开源地 ...
- H5性能测试,首屏时间统计(Argus)
Argus 腾讯质量开发平台,官网链接:https://wetest.qq.com/product/argus 主要针对性:H5的游戏性能测试 主要介绍: 独家首屏时间统计: 告别人工掐秒 自动统计首 ...
- 前端性能优化——首屏时间&&白屏时间
1.首屏时间概念 首屏时间是指用户打开一个网站时,直到浏览器首页面内容渲染完成的时间. 2.白屏时间概念 白屏时间即是,浏览器开始显示内容的时间,所以我们一般认为解析完<head>的时刻, ...
- Time To First Byte (TTFB) 第一字节时间 页面加载时间
Time to first byte - Wikipedia https://en.wikipedia.org/wiki/Time_to_first_byte Time to first byte ( ...
- 网页性能测试之WebPageTest
想知道您的网站,性能怎么样? 很自然,首先得找一个广被认可的测试工具.我们推荐WebPageTest: WebPageTest 它是google 开源项目”make the web faster “的 ...
- Sentry Web 性能监控 - Web Vitals
系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...
- HTTP 返回时间 概念 TTFB..
课外学习部分: 什么是TTFB呢? 1.TTFB (Time To First Byte),是最初的网络请求被发起到从服务器接收到第一个字节这段时间,它包含了 TCP连接时间,发送HTTP请求时间和获 ...
- 优化 Tengine HTTPS 握手时间
背景 网络延迟是网络上的主要性能瓶颈之一.在最坏的情况下,客户端打开一个链接需要DNS查询(1个 RTT),TCP握手(1个 RTT),TLS 握手(2个RTT),以及最后的 HTTP 请求和响应,可 ...
随机推荐
- JQ 文件上传
var formData = new FormData(); var name = $("input").val(); formData.append("file&quo ...
- gettimeofday
作用: 需要打印代码执行到某处的时间,或者需要计算程序执行的时间差(精确到微妙级).这时会用到gettimeofday函数,它可以返回自1970-01-01 00:00:00到现在经历的秒数. 原型: ...
- CODEVS-新斯诺克
原题地址:新斯诺克 题目描述 Description 斯诺克又称英式台球,是一种流行的台球运动.在球桌上,台面四角以及两长边中心位置各有一个球洞,使用的球分别为1 个白球,15 个红球和6 个彩球(黄 ...
- springboot(十二)-分布式锁(redis)
什么是分布式锁? 要介绍分布式锁,首先要提到与分布式锁相对应的是线程锁.进程锁. 线程锁:主要用来给方法.代码块加锁.当某个方法或代码使用锁,在同一时刻仅有一个线程执行该方法或该代码段.线程锁只在同一 ...
- Mac下锁屏快捷键
▲先设置“进入眨眼或开始屏幕保护程序”选择”立即“要求输入密码. [系统编好设置]->[通用] ▲通过快捷键[shift+control+光驱键]或者[option+command+关机键]
- redux设计到源码 --- 美团点评技术团队(转)
https://tech.meituan.com/redux-design-code.html
- 第2章—装配Bean—自动化装配Bean
自动化装配Bean 2.1.Spring配置可选方案 装配是依赖注入DI的本质,Spring提供了以下三种注入的装配机制: 在XMl中进行显式配置 在java中进行显式配置 隐式的Bean发现机制 ...
- C#(winform)设置窗体的启动位置
只需要设置窗体的StartPosition属性: registerForm.StartPosition = FormStartPosition.CenterScreen; FormStartPosit ...
- PTA (Advanced Level) 1010 Radix
Radix Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? ...
- linux编程之GDB调试
GDB是一套字符界面的程序集,可以用它在linux上调试C和C++程序,它提供了以下的功能: 1 在程序中设置断点,当程序运行到断点处暂停 2 显示变量的值,可以打印或者监视某个变量,将某个变量的值显 ...