我有一个查询,涉及根据创建时间从表中按排序顺序获取用户列表。我从chrome开发者工具中得到了以下时序图。
您可以看到 TTFB(第一个字节的时间)太高。
不知道是不是SQL排序的原因。如果这是原因,那么我怎样才能减少这个时间呢?
或者是因为 TTFB。我看到博客说 TTFB 应该少一些(< 1sec). But for me it shows >1秒。是因为我的查询还是其他原因?
我不知道如何减少这个时间。
我正在使用角度。我应该使用 Angular 对表进行排序而不是 SQL 排序吗? (很多帖子说这不应该是问题)
我想知道的是如何减少 TTFB。伙计们!我实际上对此很陌生。这是我的团队成员交给我的任务。我不知道如何减少 TTFB 时间。看了很多帖子,但没能正确理解。什么是 TTFB.是服务器占用的时间吗?
TTFB 不是响应正文(即有用数据,例如:json、xml 等)第一个字节的时间,而是从服务器接收到的响应第一个字节的时间。该字节是响应标头的开始。
例如,如果服务器在执行艰苦工作(如繁重的 SQL)之前发送标头,您将得到非常低的 TTFB,但这不是“true”。
在您的情况下,TTFB 代表您在服务器上处理数据所花费的时间。
要减少 TTFB,您需要更快地完成服务器端工作。
我也遇到了同样的问题。我的项目在本地服务器上运行。我检查了我的 php 代码。
$db = mysqli_connect('localhost', 'root', 'root', 'smart');
我使用
localhost
连接到我的本地数据库。这可能是您所描述的问题的原因。您可以修改您的 HOSTS
文件。添加行
127.0.0.1 localhost
.
如果您使用 PHP,请尝试在
<?php flush(); ?>
之后和 </head>
之前使用 </body>
或您想要快速输出的任何部分(例如标题或内容)。它会输出实际的代码,而不需要等待 php 结束。不要一直使用这个功能,否则速度提升不明显。
我建议您阅读这篇文章,并更多地关注如何优化对用户请求的整体响应(页面、搜索结果等)
对此的一个很好的论据是他们给出的有关使用 gzip 压缩页面的示例。尽管 ttfb 在不压缩时速度更快,但用户的整体体验最差,因为下载未压缩的内容需要更长的时间。
TTFB 是当今真正的 Web 性能杀手。不是未优化的图像或大型脚本文件。
高 TTFB 通常与未通过 CDN 提供 HTML 文档有关。不确定在这种情况下您是否使用 CDN,但大多数网站仅将 CDN 用于图像、脚本和 css 文件。
如果您在速度较慢的主机上使用 WordPress,并且页面未缓存,则您会获得超高的首字节时间。
如果您使用 Cloudflare 进行缓存,请添加缓存规则并选择
Cache everything
(https://developers.cloudflare.com/cache/how-to/cache-rules/examples/cache-everything/)
如果您想从全球 40 个地点快速检查您的 TTFB,我在这里构建了一个免费工具(无需注册或发送电子邮件):https://pagevitals.com/free-tools/ttfb-tester/
如果您使用此功能,您将能够快速查看高 TTFB 是本地问题还是真正的问题。