如何减少等候时间

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

timing from the chrome

您可以看到 TTFB (到第一个字节的时间)太高了。
我不确定这是否是因为 SQL 排序。如果这就是原因,那么我怎样才能减少这个时间?
还是因为 TTFB。我看到一些博客说 TTFB 应该少一些(小于1秒)。但对我来说,它显示 > 1秒。是因为我的问题还是别的什么?
我不知道如何减少这个时间。
我用的是棱角。我应该使用棱角来排序表而不是 SQL 排序?(许多帖子表示,这不应该是问题所在)
我想知道的是如何减少 TTFB。伙计们!其实我还是个新手。这是我的团队成员交给我的任务。我不知道如何减少 TTFB 时间。我看了很多帖子,但是看不懂。什么是 TTFB。是服务器花费的时间吗?

220567 次浏览

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

您需要了解正在运行哪些查询以及网站如何连接到服务器。

这篇 文章可能有助于理解 TTFB,但是您需要更深入地研究您的应用程序。

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

例如,如果服务器在完成繁重的工作之前(比如繁重的 SQL)发送消息头,那么您将得到一个非常低的 TTFB,但这不是“真的”。

在您的示例中,TTFB 表示在服务器上处理数据的时间。

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

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

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

如果您正在使用 PHP,请尝试在 </head>之后和 </body>之前使用 <?php flush(); ?>或者任何您想快速输出的部分(比如标题或内容)。它将输出实际的代码,而无需等待 php 结束。不要一直使用这个函数,否则速度的提高不会显著。

更多信息

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

$db = mysqli_connect('localhost', 'root', 'root', 'smart');

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

127.0.0.1 localhost.