鍍金池/ 問答/Java  PHP  HTML/ 網(wǎng)頁加載請(qǐng)求的TTFB時(shí)間過長(zhǎng)是什么原因呢?

網(wǎng)頁加載請(qǐng)求的TTFB時(shí)間過長(zhǎng)是什么原因呢?

網(wǎng)頁加載過慢,一個(gè)網(wǎng)頁要花10s左右的時(shí)間加載,調(diào)試時(shí)發(fā)現(xiàn)TTFB的時(shí)間過長(zhǎng),不知道什么原因。不知道是不是原因出在后端數(shù)據(jù)的返回上.

計(jì)算打印了一下后端請(qǐng)求的時(shí)間,發(fā)現(xiàn)鏈接數(shù)據(jù)庫花費(fèi)了大半的時(shí)間,有什么優(yōu)化數(shù)據(jù)庫的方法嗎?
chrome console報(bào)錯(cuò)

回答
編輯回答
大濕胸

TTFB(Time To First Byte)首字節(jié)時(shí)間,包含了發(fā)送請(qǐng)求到服務(wù)器,服務(wù)器處理請(qǐng)求并生成響應(yīng),服務(wù)器響應(yīng)內(nèi)容發(fā)送到瀏覽器的時(shí)間。只測(cè)試瀏覽器收到第一個(gè)字節(jié)的時(shí)間。

會(huì)對(duì)這個(gè)造成影響的分別有DNS查詢、服務(wù)器響應(yīng)、SSL認(rèn)證,重定向等。例如可能因?yàn)槟愕姆?wù)器在國(guó)外之類的原因造成TTFB過長(zhǎng)。

如果你的數(shù)據(jù)是后端計(jì)算完之后嵌到前端頁面上,也會(huì)有影響。解決方法不外乎是把某些運(yùn)算量較大的數(shù)據(jù)獲取改為用ajax之類的方式分步獲取。

2017年11月24日 12:03
編輯回答
只愛你

優(yōu)化一下sql查詢語句,檢查各種日志。

2018年3月19日 01:21
編輯回答
厭遇

你可能已經(jīng)找到問題的原因了,驗(yàn)證一下是否是數(shù)據(jù)庫查詢慢,直接 explain 這條 sql 語句,分析一下性能,看如何優(yōu)化,如加索引,分庫分表,加緩存等等。

2017年5月5日 18:29