1. 程式人生 > >優化頁面響應時間

優化頁面響應時間

負載 ajax請求 請求 一次 output 觸發 html 數據讀取 buffer緩沖區

大致方向:

1.頁面靜態化:適用於不是經常改動的頁面

偽靜態:將動態地址轉換為靜態地址

純靜態:分為局部純靜態、全部純靜態

buffer:緩沖區,一個內存地址空間,主要用於存儲數據

輸出流程:內容 -> php buffer -> tcp -> 終端

buffer緩沖區的開啟:

1. 默認php.ini中已經開啟了

2. ob_start()開啟緩沖區 讀取緩沖區內容ob_get_contents()

實現純靜態化基本方式:

1.file_put_contents()

2.使用php內置緩存機制實現頁面靜態化:output_buffering

常用ob函數:

ob_start() 打開輸出控制緩沖區(開啟緩沖區)

ob_get_contes() 返回輸出緩沖區的內容

ob_clean() 清空緩沖區內容

ob_get_clean() 得到當前緩沖區內容,並清空緩沖區內容

這個函數相當於:先使用ob_get_contents()再使用ob_clean()

實現:

1.連接數據庫,將數據讀取出來

2.將讀取出來的數據填充到模板中

3.把動態的頁面轉化為靜態頁面,生成純靜態文件

使用file_put_contents(‘aaa.html‘,ob_get_clean())這樣就生成了對應的純靜態文件

三種觸發方式:如何觸發系統生成純靜態化頁面方式(什麽時候重新生成新的靜態化文件)

1.頁面添加緩存時間:到這個時間點進行靜態化

2.手動觸發來生成靜態化文件

3.crontab定時掃描程序

頁面添加緩存時間:

流程:用戶訪問頁面 -> 頁面時間是否過期

如果過期了,訪問動態頁面,並生成靜態化文件

如果未過期,訪問靜態化文件

手動觸發方式:

在後臺建立一個對應的更新按鈕來生成新的靜態化文件

crontab定時掃描程序:

分時日月周 php /test.php (定時執行)

如*/5 * * * * php /test.php (每五分鐘執行一次)

局部靜態化實現:

ajax方式:

步驟:編寫接口 -> ajax請求接口操作

2.優化數據庫

3.使用負載均衡

4.使用緩存

優化頁面響應時間