标签: time-to-first-byte

如何正确设置 Nginx 以获得最小的 TTFB 延迟?

我有一个在生产环境中的 Nginx 和 Puma 上运行的 Rails 应用程序。

网页加载出现问题(TTBF 延迟),我正在尝试找出原因。

在 Production.log 的后端,我看到我的网页在134 毫秒内渲染得足够快:

Completed 200 OK in 134ms (Views: 49.9ms | ActiveRecord: 29.3ms)
Run Code Online (Sandbox Code Playgroud)

但在浏览器中我看到 TTFB 是311.49ms

在此输入图像描述

我知道设置中可能存在问题,或者进程计数可能不是最佳的,但找不到约 177 毫秒延迟的原因。.将不胜感激。

下面列出了我的 VPS 属性和配置。

环境

  • nginx 1.10.3
  • 美洲狮 3.12.0(导轨 5.2)
  • PostgreSQL
  • 西德克
  • 弹性搜索

VPS 属性

  • Ubuntu 16.04(64 位)
  • 8 核 (2.4 GHz)
  • 16GB 内存。
  • 网络带宽:1000Mbps

nginx.conf

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
  worker_connections 8096;
  multi_accept on;
  use epoll;
}

http {

  # Basic Settings
  sendfile on; …
Run Code Online (Sandbox Code Playgroud)

performance nginx puma ruby-on-rails-5 time-to-first-byte

1
推荐指数
1
解决办法
2万
查看次数

Chrome 与 Web Vitals 上的 TTFB 值不同

我注意到 Chrome 网络选项卡中的 TTBF 值与 WebVitals 记录的 TTBF 值不同。理想情况下,它应该是完全相同的值,但有时在某些情况下会出现高达 2-3 秒的巨大差异。

我正在使用 Next.js 并使用reportWebVitals来记录各自的性能指标。

这是一个示例存储库应用程序 URL和屏幕截图供参考。

使用performance.timing.responseStart - performance.timing.requestStart返回比依赖 WebVitals TTFB 值更合适的值。

知道可能出了什么问题吗?这是 WebVitals 上的一个错误,我不应该使用它,或者在消费/记录值时犯错误?

在此输入图像描述 在此输入图像描述

web-performance next.js time-to-first-byte web-vitals

1
推荐指数
1
解决办法
379
查看次数