localhost與127.0.0.1對WordPress數據庫連接速度的影響
在本地電腦上搭建過WordPress環境的站長應該有過這樣的體驗,明明在服務器上響應很快的網站在本地怎麼就那麼慢呢?看完這篇剛寫的localhost與127.0.0.1對WordPress數據庫連接速度的影響,本地搭建的環境速度也很快!
要知道,動態網站中,數據庫的響應速度決定了前端的用戶體驗,也就是說數據庫響應時間越長,瀏覽器中的TTFB時間就越長,打開網頁的時間也越長。提高數據庫響應速度也是網站優化中必不可少的步驟,常見的辦法是使用MySQL高速緩存啟動query cache的方法來減少查詢次數,並將查詢結果存在內存中,以便下次使用。
為了直觀的看到PHP連接數據庫消耗的時間,我寫了個PHP文件,運行這個文件將會顯示具體耗時,內容如下:
<? php //計時開始runtime(); //執行查詢connectmysql(); //計時結束. echo runtime(1); //計時函數 function runtime ( $mode = 0 ) { static $t ; if (! $mode ) { $t = microtime (); return ; } $t1 = microtime (); list ( $m0 , $s0 ) = explode ( " " , $t ); list ($m1 , $s1 ) = explode ( " " , $t1 ); return sprintf ( "%.3f ms" ,( $s1 + $m1 - $s0 - $m0 )* 1000 ); } //連接數據庫 function connectmysql (){ $servername = "localhost" ; //數據庫地址,測試127.0.0.1與localhost的區別 $sqluser = "數據庫賬號" ; $sqlpass = "數據庫密碼" ; $conn = @mysqli_connect( $servername , $sqluser , $sqlpass ); return $conn ; } ?>
測試結果
localhost連接方式耗時:1001.000 ms
127.0.0.1連接方式耗時:1ms
訪問WordPress網站首頁耗時測試
localhost連接方式耗時:
localhost與127.0.0.1對WordPress數據庫連接速度的影響
127.0.0.1連接方式耗時:
localhost與127.0.0.1對WordPress數據庫連接速度的影響
我以為能大幅提升網站的響應速度,其實不然,同樣的代碼在Linux環境中的響應速度並沒有Windows的區別明顯。實測,代碼狗博客的連接耗時0.3ms左右,首頁ttfb耗時300-400ms左右,也就是說WordPress的作業機制消耗300多毫秒。
從上面的數據來看,在本地情況下,mysql的連接速度幾乎等於TTFB時間。如果你在Windows本地電腦上使用的話,改成127.0.0.1將會體驗到飛一般的感覺!
總結
在Linux環境中,localhost與127.0.0.1對數據庫的影響幾乎沒有區別,但是據網友所說127.0.0.1是通過網卡傳輸,依賴網卡,並受到網絡防火牆和網卡相關的限制。也有網友說兩者都不經過網卡,我比較信任第二種。localhost不受限制,在消耗網絡資源的服務器中,使用localhost更加恰當!
在本地環境中,建議使用127.0.0.1的方式連接數據庫,可以大幅度提升速度,本地體驗極佳!