如何减少等待(ttfb)时间

时间:2015-02-18 10:08:29

标签: developer-tools timing-diagram

我有一个查询,涉及根据创建时间从排序顺序获取表中的用户列表。我从chrome开发人员工具中获得了以下时序图。

timing from the chrome

您可以看到TTFB(第一个字节的时间)太高。
我不确定是否是因为SQL排序。如果这就是原因那么我该如何减少这个时间呢?
或者是因为TTFB。我看到博客说TTFB应该更少(<1秒)。但对我来说它显示> 1秒。是因为我的查询还是别的什么?
我不知道如何减少这段时间。
我正在使用棱角分明。我应该使用angular来排序表而不是SQL排序吗? (很多帖子都说不应该是问题)
我想知道的是如何减少TTFB。伙计们!我其实是新手。这是我的团队成员给我的任务。我不确定如何减少TTFB时间。我看到很多帖子,但无法正确理解。什么是TTFB。这是服务器花的时间吗?

5 个答案:

答案 0 :(得分:101)

TTFB不是响应主体的第一个字节的时间(即,有用的数据,例如:json,xml等),而是从服务器接收的响应的第一个字节的时间。该字节是响应头的开始。

例如,如果服务器在执行繁重的工作之前发送标头(如繁重的SQL),您将得到一个非常低的TTFB,但它不是“真实的”。

在您的情况下,TTFB表示您在服务器上处理数据的时间。

要减少TTFB,您需要更快地完成服务器端工作。

答案 1 :(得分:12)

我遇到了同样的问题。我的项目在本地服务器上运行。我检查了我的PHP代码。

  

$ db = mysqli_connect(&#39; localhost&#39;,&#39; root&#39;,&#39; root&#39;,&#39; smart&#39;);

我使用localhost连接到我的本地数据库。这可能是您所描述的问题的原因。您可以修改HOSTS文件。添加行

127.0.0.1 localhost

答案 2 :(得分:9)

TTFB是在幕后发生的事情。您的浏览器对幕后发生的事情一无所知。

您需要查看正在运行的查询以及网站如何连接到服务器。

This文章可能有助于理解TTFB,但您需要深入了解您的应用。

答案 3 :(得分:3)

我建议您阅读此article,并更多地关注如何优化对用户请求的总体响应(页面,搜索结果等)。

这方面的一个很好的论据是他们给出了使用gzip压缩页面的例子。即使ttfb在不压缩时速度更快,但用户的整体体验最差,因为下载未压缩的内容需要更长的时间。

答案 4 :(得分:2)

如果您使用的是PHP,请尝试在<?php flush(); ?>之后和</head>之前使用</body>或在您想要快速输出的任何部分(例如标题或内容)。它将输出实际代码而无需等待php结束。不要一直使用此功能,否则速度增加不会显着。

More info