问题标签 [time-to-first-byte]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Angular SSR 构建时间过长
我有一个 SSR angular APP,在浏览器中输入 url 后最多需要 15 秒才能看到内容。当它请求 index.html 文件时,请求时间如下所示: Tmings for index.html request
额外的时间有时在“排队”中分配,有时在“等待 TTFB”中分配大约 15 秒。这次是不幸的 35 秒。在本地环境中,它是 15 秒固定的。
我进行了一些搜索,阅读了一些帖子,并注意到它与构建期间在服务器端发出的 Http 请求有关。当它没有到达 API 时,没有延迟并在 1-5 秒内加载。如果我做一个请求(即使是少量的数据),应用程序构建速度会减慢到固定的 15 秒。我做了一些控制台日志记录,虽然问题与 http 请求有关,但请求不会花费很长时间。
控制台日志测试- 开始 - 它是 url 输入时间,响应 - 内部 api 请求完成时间,完成 - 构建完成时间
请注意,api 响应在 400 毫秒内出现,但构建仅在 15 秒后“完成”。我认为它可能与 ngZone 或其他东西有关,但我根本不明白这件事。
这是我的 tsconfig.app.json
和 tsconfig.server.json
这些是我的依赖:
javascript - 浏览器中第一个字节的时间处理程序?
这个问题很相似,但没有帮助。
用户将文件上传到我们的服务器进行处理,然后下载结果。这一切都发生在网页上的单个 AJAX 调用中。
由于下载的文件很大,我们想指出何时开始下载。
收到第一个字节时是否会触发事件?
我们使用 jQuery,所以 jQuery 答案是理想的,但任何在纯 JavaScript 中工作的东西也可以工作。
wordpress - 在 WordPress 上使用 https 时 TTFB 速度较慢,但经过多次优化
我在 WordPress 上遇到了 TTFB 问题。第一次在浏览器上加载总是很慢,多次重新加载后,TTFB仍然超过600ms。这是一些信息:
- 我的网站:https ://passioshop.com/
- 使用 Contabo.com VPS:6 个 vCPU 内核、16 GB RAM、400 GB SSD
- 使用 Cloudflare:
- 缓存级别:标准
- 缓存 TTL:最大时间
- 激活:自动缩小、Brotli、始终在线、HTTP/3(使用 QUIC)、0-RTT...
- 不使用火箭装载机
- 优化 Wordpress:
- 使用 WP-Optimize:压缩图像,页面缓存,不使用 Minify 和 Combined,因为我想尽可能快地渲染页面。
- 使用资产清理:禁用所有未使用的脚本和 CSS,尤其是 WooCommerce、Elementor。禁用 Emojis、oEmbed、Dashicons、Gutenberg、XML-RPC...
- 优化 WHM:https ://www.pakistanwebserver.com/hosting-tutorial/optimize-wordpress-better-performance-cpanel-hosting/
- 更新和优化 mySQL:使用 MariaDB,256MB 查询缓存...
但结果只影响 TTLB 而不是 TTFB:
- 使用这个命令: curl -o /dev/null -w "Connect: %{time_connect} TTFB: %{time_starttransfer} Total time: %{time_total} \n" https://passioshop.com。我注意到,TTFB:
- 使用 HTTP 时:0.016s
- 第一次使用HTTPS:2.799s
- 下一次,使用 HTTPS:0.209s
- 在浏览器的检查中:
下一次,尤其是加载像https://passioshop.com/test.html这样的纯文本,它仍然在 500 毫秒以上:
我在 Google PageSpeed Insights 中几乎得到 100 分:
有人请帮我解决这个问题。任何提示或如何找到原因可能对我有很大帮助!谢谢你的帮助。
next.js - Chrome 与 Web Vitals 上的不同 TTFB 值
我注意到 Chrome 网络选项卡中的 TTBF 值与 WebVitals 记录的不同。理想情况下,它应该是完全相同的值,但有时在某些情况下会出现 2-3 秒的巨大差异。
我正在使用 Next.js 并使用reportWebVitals来记录各自的性能指标。
这是一个示例 repo、应用程序 url和屏幕截图以供参考。
使用performance.timing.responseStart - performance.timing.requestStart
返回比依赖 WebVitals TTFB 值更合适的值。
知道可能出了什么问题吗?是否是 WebVitals 上的错误,我不应该使用它,或者在我最终使用/记录值时出错?
wordpress - TTFB 很长第一次访问网站
我制作的 WordPress 网站有问题:https ://j-martini.com
有时(通常是您第一次访问该网站),甚至 HTML 加载之前的时间可能很长(例如在此捕获中,8s:https ://postimg.cc/qgR0xqKm
我不知道问题出在哪里,因为每次我使用 GTmetrix 之类的工具测试网站时,我都会得到一个很好的结果,我不知道如何监控问题。
我联系了我的托管服务商 Scaleway,因为我怀疑服务器速度很慢,但他们非常努力地根本不帮助我。即使它不是针对服务器的,我也希望他们能帮助我找出问题所在,但显然不是。
任何帮助将不胜感激!
django - Django + Nginx + Gunicorn - 为什么我的 TTFB 这么高?
这是我第一次使用 nginx/gunicorn 设置 Web 服务器,所以如果我的 TTFB 如此之高有什么明显的原因,我会道歉。
根据 gtmetrix.com,我的 TTFB 为 1.4 秒:
在我自己的测试中,我的 TTFB 约为 1.3 秒。
我对它为什么这么高感到困惑,即使我启用了 Brotli、缓存(静态和媒体文件)、Http2,我启用了 html 缩小器,所以我不知道为什么。我的服务器是纽约市 Digital Ocean 上的 2GB CPU(靠近我所在的地方),所以位置不是问题。我已经检查了这个堆栈溢出问题,但是删除 django-htmlmin 包仍然有很高的 ttfb。我在这个页面上的 Django 视图只是:
我认为这是一个简单的查询,我不认为 TTFB 仅仅为了这个 get 查询就这么高。我的数据库有问题吗(现在我正在使用 sqlite)?如果您需要我的任何其他文件或东西来帮助我调试,请告诉我。
另外,根据 Cloudflare 的这篇文章,我的 TTFB 很高,因为
在 CloudFlare,我们广泛使用 nginx,并且在研究 TTFB 时发现,在使用或不使用压缩时,TTFB 与 nginx 存在显着差异。网页的Gzip压缩大大减少了网页下载的时间,但压缩本身是有代价的。即使完整下载更快,该成本也会导致 TTFB 更大。
所以我尝试删除 Brotli,但 TTFB 仍然相当高,并且在 Nginx conf 文件中禁用 gzip 对 TTFB 没有帮助。
描述:在 Django(sqlite 数据库)上使用 Digitalocean NYC 2GB CPU 的 Nginx-Gunicorn 服务器
编辑:我停止使用 Cloudflare,因为我遇到了一些问题。
api - 从 API Groovy 获取第一个字节的时间
我正在编写一个脚本来获取 URL 的 TTFB。此 getResponseCode 方法为我提供了 URL 的状态代码。建立连接后,我可以使用什么方法或公式来获取 TTFB?
HttpURLConnection 连接
php - PHP 5.5 与 7.4 TTFB 较慢
我最近将我的网站复制到了另一台服务器(它的性能比旧服务器好得多)。我在那个新网站上运行 7.4,但我注意到第一个字节的时间从 200 毫秒上升到 600 毫秒。我认为这可能是服务器正在运行,所以我在我的旧提供商上启动了一个相同的服务器,但也使用了 7.4,我得到了相同的结果。
所以我的问题是,为什么我的 TTFB 从 200 到 600 毫秒从 php 5.5 增加到 7.4?
也许你们中的任何人都遇到过同样的问题并成功地改变了一些事情。
问候
脾气暴躁
php - 如何使用 AWS EC2 减少 time_starttransfer (TTFB)
我的网站在 AWS EC2 上。
我用这个命令检查了 TTFB(到第一个字节的时间):
这是我在计算机上运行命令时的结果:
这是我在网络服务器本身上运行命令时的结果:
我注意到在这两种情况下,最长的时间都是 time_starttransfer。我怎样才能减少这个时间?
什么是 time_starttransfer?
从开始到第一个字节即将被传输所用的时间(以秒为单位)。这包括 time_pretransfer 以及服务器计算结果所需的时间。
我的网站配置
我的网站链接是:http: //13.37.46.163/
这是一个使用EC2 + ServerPilot + PHP7运行的 Grav CMS女巫
Amazon 系统映像 (AMI)
Ubuntu Server 20.04 LTS (HVM),EBS 通用 (SSD) 卷类型。64 位 (x86)
EC2 实例类型
t2.micro
网络服务器
Nginx
编程语言
PHP
反向代理
Nginx
缓存
我已经使用了已启用的Opcache,您可以在此处看到:http: //13.37.46.163/info.php#module_zend+opcache
关于CDN,我已经使用 Grav CDN 插件。( https://github.com/getgrav/grav-plugin-cdn )
我的网站日志(请求/分钟)
即,平均 1 个请求/分钟
进行的测试
- 尝试对 Php 不托管的静态文件运行 TTFB 测试
我对“main.js”文件进行了 TTFB 测试。
结果如下:
结果分析:
结果令人满意(time_starttransfer=0.003983)。但我认为这个结果是由于文件的重量与整个网站相比很轻。我们可以推断出问题在于 PHP 而不是 NGINX。
- 运行
top
和free
命令以检查正在运行的内容/正在使用的资源,我不需要什么?
这是top
命令的结果:
当我重新加载我的网站以检查 CPU 百分比时,我得到了结果。
这是free
命令的结果:
结果分析:
我可能不应该使用t3.micro
-t2.micro
稍微快一点,稍微便宜一点。(?)
performance - 如何改进 nginx 服务器上的 TTFB?
我在北卡罗来纳州夏洛特运行 VPS(Ubuntu 上的 nginx 版本 1.18.0)(QEMU 虚拟 CPU 版本 2.5+ 2399.998 MHz,turbo 高达 3.2 Ghz;2gb RAM)和我的 Wordpress 网站的 TTFB 不是很好。在美国大约为 200-300 毫秒,在加拿大和欧洲稍差,远离亚洲/澳大利亚。
我与 VPS 支持人员进行了交谈,他们将站点移至 FastCGI (Nginx + PHP-FPM) 并在 nginx.conf 中添加了一些代码,但它略微改进了 TTFB。我还通过 ISP Manager 启用了 HTTP/2。
无论如何,这是完整的配置:
#Optimisation是由 VPS 支持添加的。
我玩了一些数字,但无济于事。你有什么建议?
这里有详细的TTFB(使用的tools.keycdn.com): 点击