在網站設計的開發過程中,效能瓶頸是一個常見的問題。當網站變得越來越複雜,它的效能也會受到影響。在 WordPress 網站中,開啟 php slow log 可以幫助您找出效能瓶頸,並進行優化。
什麼是 PHP slow log
PHP slow log 是一個記錄 PHP 程式執行時間的工具。當 PHP 程式執行時間超過設定值時,它會將該腳本的相關信息記錄下來。這些信息包括腳本名稱、執行時間、請求 URL 等等。通過這些信息,您可以找出哪些腳本是效能瓶頸。
如何開啟 PHP slow log
首先,您需要在 php.ini 文件中啟用 slow log 功能。首先找到以下設定內容:
slowlog = 想儲存的位置
把最前面的分號取消,輸入正確的儲存 (ex. /var/log/php.slow.log) 位置並且移除掉最前方的注解符號(; 或是 #)。
接著找到
request_slowlog_timeout = 幾秒
這邊的設定就是指當 PHP 執行時間超過 request_slowlog_timeout 所設定的秒數(ex. 5),就會把相關資料記錄到 slow log 設定的儲存位置。
然後,您需要使用以下指令:
systemctl start apache2
重新啟動 Web 服務器,以使設定的更改生效。啟用 slow log 功能後,就可以開始監視網站的效能。
如何理解 PHP slow log
當發現網站效能下降時,可以通過查看 slow log 文件來找出問題所在。
[11-May-2019 22:46:38] [pool www] pid 24
script_filename = /Users/janetshen/Local Sites/tellustek-new/app/public/index.php
[0x00007f7260c21a30] file_get_contents() /Users/janetshen/Local Sites/tellustek-new/app/public/wp-content/themes/custom/functions.php:105
[0x00007f7260c20a50] [INCLUDE_OR_EVAL]() /Users/janetshen/Local Sites/tellustek-new/app/public/wp-settings.php:395
[0x00007f7260c1d930] [INCLUDE_OR_EVAL]() /Users/janetshen/Local Sites/tellustek-new/app/public/wp-config.php:97
[0x00007f7260c1d770] [INCLUDE_OR_EVAL]() /Users/janetshen/Local Sites/tellustek-new/app/public/wp-load.php:27
[0x00007f7260c1d1e0] [INCLUDE_OR_EVAL]() /Users/janetshen/Local Sites/tellustek-new/app/public/wp-blog-header.php:11
[0x00007f7260c1d0c0] [INCLUDE_OR_EVAL]() /Users/janetshen/Local Sites/tellustek-new/app/public/index.php:14
上面的 slow log 例子就是表示問題發生在 custom 這個佈景主題中的 functions.php 第105行, 接下來就可以去看看這邊的程式是否還有可以優化調整的地方來減少整體的負擔好加快網站運行。
通過這種方式,您可以找出哪些腳本是效能瓶頸。一旦找到了問題所在,您可以進行優化。例如,您可以優化 SQL 查詢、減少 HTTP 請求、使用快取等等。
結論
要如何在一個複雜的網站中有效律的找出問題癥結點並不是一件容易的事情,php slow log 是一個非常有用的工具,可以幫助我們對症下藥找出 WordPress 網站的效能瓶頸。通過這種方式,您可以優化網站,提高其效能,為用戶提供更好的體驗。
不過也要特別注意,開啟了 slow log 也會對網站效能產生負面的影響,所以建議在真的有需要或是開始進行效能調整的時候再開啟,一但調整結束就盡快將設定改回。
以上內容的程式環境是用Ubuntu的預設環境做為範例,不同的作業系統或是不同的主機管理套件都有可能會有些許的不同,如果您在效能優化的路上碰到了任何的困難需要協助,都很歡迎隨時與我們蓋婭科技連絡,讓蓋婭成為您網站製作的路上最強而有力的後盾!