
我有一個運行 WordPress(PHP 和 MySQL)的網站。網站回應請求的速度非常慢。
當我查看 Safari 中的 Web 檢查器時,問題似乎不是檔案大小。
http://img.skitch.com/20100127-1yjnf586wdr3tx4akk8fj5qwhx.png
距離提供內容還需要 5 秒。我可以採取哪些措施?我是伺服器管理新手,這只是一個共享伺服器。我沒有完全的控制權,但可能值得嘗試優化。
我嘗試了traceroute
命令ping
,但命令工作沒有問題。
答案1
您確實需要擁有管理員權限才能在伺服器上進行任何類型的實際故障排除。
但是,如果您想弄清楚這是您的程式碼還是伺服器的錯誤(呵呵),您可以採取一些步驟。其中之一是在您的 php 程式碼中新增一個計時器,以查看在伺服器上執行需要多長時間。從這裡:
<!-- put this at the top of the page -->
<?php
$mtime = microtime();
$mtime = explode(' ', $mtime);
$mtime = $mtime[1] + $mtime[0];
$starttime = $mtime;
?>
<!-- put other code and html in here -->
<!-- put this code at the bottom of the page -->
<?php
$mtime = microtime();
$mtime = explode(" ", $mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);
echo 'This page was created in ' .$totaltime. ' seconds.';
?>
使用它,您可以查看伺服器是否實際上很慢,或者是否位於連接端。
如果伺服器速度很慢,則需要採取許多步驟,但您需要管理員權限才能進一步操作,特別是因為您使用的是 WordPress,它位於全球數十萬台伺服器上,並且經過了相當優化。
另一件要嘗試的事情是停用插件並一一啟用它們,看看是否有任何插件導致您的速度緩慢。
答案2
這可能與文件的大小無關。如果您正在執行 WordPress,您的待辦事項將是資料庫和處理器。資料庫用於恢復有關頁面應該是什麼樣子、內容等的所有資訊。
可能需要考慮調整 Apache 的快取設定。如果某些頁面經常被要求,那麼一遍又一遍地建立它們是沒有意義的。
答案3
嘗試使用 Firefox 並為其安裝一個名為 Firebug 的插件(http://getfirebug.com/)。設定完成後,啟用「網路」面板並重新載入頁面。這將向您顯示伺服器回應每個部分所花費的時間,包括初始連線速度、下載時間、伺服器回應延遲等。
由於您使用共享主機,因此您對伺服器設定的控制能力非常有限,但是您可以透過密切注意您要求伺服器執行的操作來以其他方式加快速度。
GL!並且習慣使用Firebug,它是救星。
最後一件事,確保您使用的是最新版本的 WordPress,並且不要使用太多外掛。每一點開銷都會減慢你的負載。
答案4
眾所周知,Wordpress 和許多 CMS 一樣非常繁重,我並不驚訝共享伺服器會給您這樣的延遲來服務第一個位元組。
要做的第一件事是確保您有一個可用的操作碼快取(php-apc 是「標準」快取),否則每次新使用者請求時 WordPress 都會產生主頁。如果伺服器上安裝了 apc 且你有辦法設定它,你可以先嘗試以下設定:
apc.enabled=1
apc.shm_size=64
apc.max_file_size=3M
apc.ttl=7200
apc.user_ttl=7200
apc.stat_ctime=1
然後看看包中包含的 apc.php 腳本給出的統計信息,它將幫助您設置那些價值觀更充分。
我要做的第二件事是使用 WordPress 的快取插件,如下所示:http://wordpress.org/extend/plugins/w3-total-cache/
它將在第一次請求時呈現內容,然後在每次可能時提供靜態內容。