2017-10-05 74 views
7

改善wp-admin面板性能的建議:請提供建議和方法以確定WordPress管理面板問題中的瓶頸。它是一個多站點,並且已啓用第三方插件。如何識別插件衝突和哪個插件導致perf/memory問題。所有這些PHP-FPM,nginx的在泊塢窗容器中運行觀察改善wp-admin面板性能的建議

問題: 在登錄過程中 發表在創建新的頁面加載

+4

我從來沒有找到更好的方法來調試WP安裝中的性能問題,而不是克隆到測試環境並逐個禁用插件。 – janh

+0

您可以使用開發工具中的網絡選項卡(如果在Chrome上) - 並查看什麼時候加載 - 您可能會看到有什麼東西 – Stender

+1

您可以在此發佈您的問題:https://wordpress.stackexchange.com/因爲你可能會得到一個快速和良好的答案:) – Sergiu

回答

1

感謝您的輸入。 我發現了問題並解決了它。問題在於網絡文件系統,php腳本需要更多時間來閱讀它,因爲上傳的資源總大小是以GB爲單位的,並且Filter中構建的wordpress框架將執行遞歸調用來計算大小。我使用了調試欄慢動作和過濾器插件來確定哪個動作/過濾器需要更多時間。

解決方案:在多站點的管理面板中,如果您啓用了設置,則會跳過計算磁盤大小 - 現在站點速度非常快。但是會失去限制用戶上傳的功能。我爲每個站點定義了2 GB,那麼限制用戶從2 GB磁盤配額的功能將被禁用。有沒有辦法調整這些東西?請提供您寶貴的建議。

3

這裏是一步一步的指導,以確定性能問題。

  1. 如果服務器不在生產或者如果它沒有多大意思,嘗試切換到任何默認的WordPress主題(TwentySeventeen爲例),看看是否有任何變化。

  2. 您可以停用所有插件並查看是否有幫助。如果是 - 嘗試逐個打開插件,這將幫助您確定哪個插件導致性能問題。

  3. 嘗試安裝一個免費的插件叫做調試工具欄(你可以做到這一點插件,添加新的),它會告訴你慢的東西在自己的網站

    debug bar plugin

  4. 檢查您的瀏覽器控制檯還可能有幫助。

+0

在閱讀本文之前,我發現瞭解決方案,但您應該得到賞金點數。您的輸入更有價值,但所顯示的屏幕截圖與Query Monitor插件相關,與調試欄插件無關:)。看到你的網站,並創造了更多的插件 - 你簡直太棒了:)和wp專業知識。 – Senthil

+0

謝謝;)很高興幫助 –

+0

再次感謝:)解決方案:在多站點的管理面板中,如果您啓用了一個設置,那麼它將跳過計算磁盤的大小 - 現在網站非常快。但是會失去限制用戶上傳的功能。我爲每個站點定義了2 GB,那麼限制用戶從2 GB磁盤配額的功能將被禁用。有沒有辦法調整這些東西?請提供您寶貴的建議。 – Senthil

1

有幾個PHP性能工具,如XHProf,它可以幫助您確定問題的原因。

請不要忘記告訴我們問題是什麼,通過更新您的答案!

0

我建議在另一臺服務器上進行網站備份並檢查問題。如果問題仍然存在,請逐個停用插件。

1

你可以給我們一個PlugIns的安裝列表!?

我可以告訴你一些,他們是從我的經驗浪費內存...

是否使用即視覺作曲家插上,一個命名爲喜歡的是在關於最最壞的後端塞它的需求和重要的主題它通常結合主滑塊革命,這也有瘋狂的內存需求...

你一般有很多插件,所以讓我們說更多,然後10至20?你需要所有這些嗎?當您在後端編輯頁面時,哪些是加載的?

如果你真的需要所有的人都想想租用更好的服務器... ;-)

+0

很難說如何識別問題沒有更多的關於你的insallation的信息,因爲它取決於許多個人因素......作爲服務器的速度,您的網站的大小等等! 在genral wordpress對大型網站的數據庫管理效率不高,你說你有多站點安裝,有多少個站點!? :) 更可悲的是,很多很多,甚至更多的插件比wp核心關於他們的效率更差.... – ToTaTaRi

2

由於這個問題是由兩個代碼的(插件)的相互作用和生產環境造成的,你需要一些在嘗試測量原因時將所有這些考慮在內的工具。

我真的很喜歡New Relic。這是一款付費產品,但通過免費試用,您可能可以診斷您的問題。他們有一個WordPress集成,它會向您顯示每個動作掛接和插件正在採用多少秒/毫秒。

1

我在與慢速wp-admin的戰鬥中發現的是心跳wordpress功能,它負責自動保存並製作成千上萬份相同的帖子。 它設置自動保存間隔。 它不是一個性能殺手,但在我的情況(woocommerce有幾千條記錄)它有助於提高管理面板的速度,可能對你有用。

你可能想在你的functions.php增加以下內容:

add_action('init', 'stop_heartbeat', 1); 
    function stop_heartbeat() { 
    wp_deregister_script('heartbeat'); 
}