查詢監視器插件

已發表: 2021-02-19

每當加載 WordPress 網站時,都會在幕後發生許多事情,因為從數據庫中提取信息並構建頁面然後加載。 因為這些查詢從數據庫中檢索信息,並且可以涉及每個主題、插件和核心文件,所以如果可以以某種方式對其進行監控,則非常有用。 向 Query Monitor 插件問好。

查詢監視器插件是(您猜對了)監控 WordPress 查詢的最流行的工具之一。 憑藉提供強大支持和定期更新的專門團隊,查詢監視器插件在網站調試時為 Web 開發人員提供了寶貴的幫助。

讓我們仔細看看 Query Monitor 插件,看看它是如何使用的。

介紹查詢監視器插件

Query Monitor 是一個免費的 WordPress 調試工具。 與所有 WordPress 插件一樣,您可以從插件管理區域安裝查詢監視器。

安裝並激活插件後,您訪問的每個頁面(在前端和後端視圖中)都會出現一組數字,詳細說明當前頁面的負載統計信息。 這 4 個數字顯示了頁面生成時間、PHP 內存使用情況、數據庫查詢時間和查詢次數。

如果您將鼠標懸停在這些數字上,則會出現一個下拉菜單,其中提供指向其他數據的鏈接。

當您單擊這些鏈接中的任何一個時,頁面底部會出現一個窗口,該窗口帶有一個與上面描述的菜單相同的側邊欄菜單,您可以使用它來過濾結果。 下面的屏幕截圖顯示了“Hooks & Actions”選項的一些結果:

菜單上的最後一個選項卡稱為“條件”,每個頁面都不相同。 例如,在後端它顯示如下:

但是,如果您在網站前端查看相同的菜單,您會看到一些不同的信息,因為使用了替代條件:

當您想在添加新插件或主題功能時確定要使用的正確掛鉤或條件標籤時,此選項卡可能是一個很好的工具。

查詢監視器插件的作用

當您訪問任何 WordPress 頁面(從管理區域或前端)時,該插件會收集發生在服務器上以及服務器和訪問者瀏覽器之間的所有 WordPress 進程。 為了向您展示它們,它創建了一個易於閱讀的報告,可以如上所示查看。

由於它適用於您網站的每個頁面(來自管理和前端),您可以使用它來調試任何前端或後端進程。 這可能包括識別和調試慢速數據庫查詢、AJAX 調用、REST API 請求等等。 在嘗試查明特定問題時,所提供的信息非常有用,並且可以顯著加快故障排除速度。

一些查詢監視器示例

有大量使用查詢監視器可以提供幫助的實例。 例如監控腳本依賴、WordPress 鉤子、託管環境細節和條件查詢標籤可以幫助解決很多問題。 我們將在下面快速瀏覽一些常見用途。

語法錯誤疑難解答

出於本示例的目的,我們在單個帖子的模板中使用了自定義 SQL 查詢。

 //// SLOW QUERY TEST global $wpdb; $prefix = $wpdb->prefix; $slowq = "SELECT * FROM {$prefix}_options WHERE option_name LIKE '%siteurl%'"; $results = $wpdb->get_results( $slowq ); echo $results[0]->option_value;

當我們刷新頁面時,我們可以看到 PHP 打印輸出沒有結果。 此外,查詢監視器選項卡已變為紅色。

如果將鼠標懸停在警告上,則會顯示另一個更詳細的警告,內容為“數據庫錯誤 (1)”。 單擊此按鈕,您可以詳細查看錯誤,幫助您理解語法錯誤。

現在,如果您修復錯誤並重新加載頁面,警告應該會消失。

如您所見,我們使用 Query Monitor 插件很快找到了問題的原因。 如果無法以這種方式監控查詢,您可能會花費數小時來嘗試找出為什麼沒有回顯輸出並且仍然看不到應該刪除的額外“_”。

HTTP 請求減慢網站加載時間

許多插件傾向於通過向外部 API 發出大量請求來使用過多的外部資源。 這肯定會減慢您的網站速度,如果可能的話,應該避免使用這樣做的插件。

谷歌分析或評論插件,如 Disqus、Jetpack 或 Facebook 評論都是這樣做的插件。

外部腳本從其他網站拉取請求。 這未必是壞事(任何 WordPress 網站都可能使用一些外部資源)。 但是,當您使用請求多個外部資源的插件或腳本時,重要的是要確保您確實需要它,並且您應用了最好的解決方法來最小化外部調用。

您可以通過在外部服務器上上傳 jQuery 腳本來自己查看差異。 使用查詢監視器“請求”和“HTTP API 調用”選項卡查看請求時間。 然後將 jQuery 腳本加載到您自己的服務器上,並讓您的網站從這個新的內部位置調用它。 當您比較外部和內部請求時間之間的差異時,您可能會感到驚訝。

使用這些工具檢查您正在使用的任何插件,以查看它們是否會降低您的網站速度。

主題模板

Monitor 插件也可以為主題開發人員派上用場,因為他們可以查看模板層次結構和用於構建網站頁面的 PHP 文件。

很酷,對吧? 所有信息盡在您的指尖。 活動主題名稱、當前請求的主體類、為當前頁面加載(或未加載)的所有模板部分以及模板文件名和層次結構。

結論

擁有正確的工具可以使開發人員的工作變得更加輕鬆,查詢監視器插件絕對是添加到工具包中的一個! 充分利用插件來監控正在使用的資源,如內存或緩存內容,或追踪導致網站性能問題的插件。

如果您想了解有關使用查詢監視器的更多信息,請查看他們的 GitHub 頁面,該頁面提供了完整的功能列表。 調試愉快!