網頁加載waiting(TTFB)時間過長的解決方案參考(轉https://blog.csdn.net/tdcqfyl/article/details/80073824)


環境:windows+thinkphp+apache+mysql

問題描述:

開發服務器上有個項目,總是時不時的會出現加載時間特別長的情況,有時4、5秒,有時11、12秒才能看到最終的頁面,如圖:

 

 

解決過程:

首先是百度,這么多年養成的習慣,沒辦法。百度上一搜,會出來各種關於“waiting(TTFB)時間過長”的解決方案,但一一看過之后,都無法解決我的問題。畢竟,每個人碰到的情況都不一樣。

既然百度不靈了,我只能用排除法。

首先,操作系統層面的原因,基本是可以排除的,那么多人都在用,如果有問題,那肯定不是我一個人能解決的了。

thinkphp,因為后來發現,開發服務器上所有的項目,都會時不時的出現這個問題,而這些項目都是基於thinkphp開發的,這么一想,thinkphp的嫌疑最大,沒跑了,肯定就是你!但后來經過嚴謹的測試,發現thinkphp對於請求的整個處理時間,始終維持在0.2秒以內,看來這個鍋不能讓thinkphp來背,冤枉它了。

接着是mysql,這個很快就被排除了,因為我訪問的頁面,只是一個簡單的登錄頁面,根本就沒有數據庫方面的任何處理。

最后是apache服務器,如果上面的幾個因素都沒問題,那只能是你了,但是很遺憾,經過和本地對比,apache服務器也沒問題!

那么,問題究竟出在哪?我試着在本地和開發服務器上,搭建了一個一模一樣的運行環境,結果本地每次都是妥妥的秒開,沒有絲毫卡頓現象!這么一來,我真的沒有頭緒了,就這樣,問題一直被擱置了5、6 個月,這期間,只能忍受着開發服務器抽風似的時好時壞。

最終解決:

時間,來到了2018年4月,有一天,同事又開始大發牢騷了,他說:測試環境什么鬼?現在是越來越慢了,受不了了!

“越來越慢”,一語驚醒夢中人。當時我好像被閃電擊中了一般,靈光一現,隱隱中,感覺離解決問題就一步之遙了!

什么會導致越來越慢?日志!這個詞在我腦海中一閃而過!只有日志,每天日積月累,最終影響磁盤I/O的性能,從而對我們的程序造成影響。那究竟是什么日志呢?數據庫日志,程序日志,apache日志,我一一檢查了下,結果蒼天不負有心人,看到apache日志的時候,我驚呆了,一個access.log日志文件,竟然達到了800多M,都快一個G了!看來罪魁禍首就是你了,果斷的刪除它,然后給apache日志做了按天歸檔處理。

再次訪問開發服務器,秒開的感覺,就是爽!

在此也提醒廣大同胞們,apache服務器安裝好后,一定要做按天歸檔處理,不要圖省事,將所有日志放在一個文件中。

另外,如果你的項目是基於Zend Server部署的,請記得關閉以下參數,因為我發現,這些參數開啟后,也會時不時的出現waiting(TTFB)時間過長的情況。

 

原文鏈接:https://blog.csdn.net/tdcqfyl/article/details/80073824

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM