日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何診斷WordPress站點(diǎn)Admin-Ajax使用率過(guò)高問(wèn)題

創(chuàng)新互聯(lián)公司是專業(yè)的鞏義網(wǎng)站建設(shè)公司,鞏義接單;提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鞏義網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

Ajax是一種基于JavaScript的Web技術(shù),可幫助您構(gòu)建動(dòng)態(tài)和交互式網(wǎng)站。wordpress使用Ajax為其許多核心管理區(qū)域功能提供支持,例如自動(dòng)保存文章、用戶會(huì)話管理和通知。

默認(rèn)情況下,WordPress通過(guò)admin-ajax.php位于站點(diǎn)/wp-admin目錄中的文件引導(dǎo)所有Ajax調(diào)用。

大量同時(shí)發(fā)生的Ajax請(qǐng)求可能會(huì)導(dǎo)致高admin-ajax.php使用率,從而導(dǎo)致服務(wù)器和網(wǎng)站的速度大大降低。這是許多未優(yōu)化的WordPress網(wǎng)站面臨的最常見(jiàn)問(wèn)題之一。通常,它表現(xiàn)為網(wǎng)站緩慢或HTTP 5xx錯(cuò)誤(主要是504或502錯(cuò)誤)。

在本文中,您將了解WordPress的admin-ajax.php文件、它的工作原理、它的優(yōu)點(diǎn)和缺點(diǎn),以及如何診斷和修復(fù)高admin-ajax.php使用率問(wèn)題。

admin-ajax.php文件是什么?

admin-ajax.php文件包含在WordPress上路由Ajax請(qǐng)求的所有代碼。它的主要目的是使用Ajax在客戶端和服務(wù)器之間建立連接。WordPress使用它來(lái)刷新頁(yè)面內(nèi)容而無(wú)需重新加載,從而使其動(dòng)態(tài)且與用戶交互。

Admin Ajax如何在WordPress上工作的基本概述

由于WordPress核心已經(jīng)使用Ajax為其各種后端功能提供支持,因此您可以使用相同的功能在WordPress上使用Ajax。您需要做的就是注冊(cè)一個(gè)操作,將其指向您站點(diǎn)的admin-ajax.php文件,并定義您希望它如何返回值。您可以將其設(shè)置為返回HTML、JSON甚至XML。

WordPress中的admin-ajax.php文件

根據(jù)WordPress Trac,admin-ajax.php文件首次出現(xiàn)在WordPress 2.1中。它在WordPress開(kāi)發(fā)社區(qū)中也稱為Ajax Admin。

 

檢查Ajax使用情況

上面的圖表只顯示了admin-ajax.php請(qǐng)求的數(shù)量,而不是它們可能來(lái)自哪里。這是查看峰值何時(shí)發(fā)生的好方法。您可以將其與本文中提到的其他技術(shù)結(jié)合使用,以縮小主要原因。

在Chrome DevTools中檢查admin-ajax.php請(qǐng)求的數(shù)量

您還可以使用Chrome DevTools查看有多少請(qǐng)求被發(fā)送到admin-ajax.php. 您還可以查看“Network部分下的“Timings選項(xiàng)卡,了解處理這些請(qǐng)求所需的時(shí)間。

至于admin-ajax.php高使用率背后的確切原因,主要有兩個(gè)主要原因:一是前端,二是后端。我們將在下面討論兩者。

如何在WordPress上診斷admin-ajax.php高頻率使用問(wèn)題

第三方插件是admin-ajax.php使用率高的最常見(jiàn)原因之一。通常,此問(wèn)題會(huì)出現(xiàn)在站點(diǎn)的前端,并經(jīng)常出現(xiàn)在速度測(cè)試報(bào)告中。

但是插件并不是這里唯一的罪魁禍?zhǔn)?,因?yàn)橹黝}、WordPress 核心、網(wǎng)絡(luò)服務(wù)器和DDoS攻擊也可能是Admin Ajax使用率高的原因。

讓我們更詳細(xì)地探索它們。

如何確定插件和主題的admin-ajax.php使用率高的來(lái)源

WordPress.org插件庫(kù)中的Ajax驅(qū)動(dòng)插件

WordPress開(kāi)發(fā)人員經(jīng)常使用Ajax來(lái)創(chuàng)建動(dòng)態(tài)和交互式插件和主題。一些流行的示例包括添加實(shí)時(shí)搜索、產(chǎn)品過(guò)濾器、無(wú)限滾動(dòng)、動(dòng)態(tài)購(gòu)物車和聊天框等功能。

僅僅因?yàn)椴寮褂肁jax并不意味著它會(huì)減慢您的站點(diǎn)的速度。

在WebPageTest報(bào)告中查看admin-ajax.php請(qǐng)求

通常,Admin Ajax在頁(yè)面加載結(jié)束時(shí)加載。此外,您可以將Ajax請(qǐng)求設(shè)置為異步加載,因此它對(duì)用戶感知的頁(yè)面性能幾乎沒(méi)有影響。

正如您在上面的WebPageTest報(bào)告中看到的admin-ajax.php,在請(qǐng)求隊(duì)列的末尾加載,但它仍然需要780毫秒。僅一個(gè)請(qǐng)求就需要很多時(shí)間。

GTmetrix報(bào)告表明admin-ajax.php使用率嚴(yán)重飆升

當(dāng)開(kāi)發(fā)人員沒(méi)有在WordPress上正確實(shí)現(xiàn)Ajax時(shí),可能會(huì)導(dǎo)致嚴(yán)重的性能問(wèn)題。上面的GTmetrix報(bào)告就是這種行為的一個(gè)完美例子。

您還可以使用GTmetrix來(lái)挖掘單個(gè)文章和響應(yīng)數(shù)據(jù)。您可以使用此功能查明導(dǎo)致問(wèn)題的原因。

為此,請(qǐng)轉(zhuǎn)到GTmetrix報(bào)告的Waterfall選項(xiàng)卡,然后找到并單擊POST admin-ajax.php項(xiàng)。您將看到此請(qǐng)求的三個(gè)選項(xiàng)卡:標(biāo)題、發(fā)布和響應(yīng)。

POST admin-ajax.php請(qǐng)求的Headers數(shù)據(jù)

查看請(qǐng)求的PostResponse選項(xiàng)卡將為您提供一些提示,以找出性能問(wèn)題背后的原因。對(duì)于此站點(diǎn),您可以在“Response”選項(xiàng)卡中看到線索。

POST admin-ajax.php請(qǐng)求的響應(yīng)數(shù)據(jù)

您可以看到響應(yīng)的一部分與id設(shè)置為“fusion-form-nonce-656”的輸入標(biāo)簽有關(guān)。

快速搜索這條線索將帶您到ThemeFusion的網(wǎng)站,Avada主題的創(chuàng)建者。因此,您可以得出結(jié)論,該請(qǐng)求來(lái)自主題,或者與它捆綁的任何插件。

在這種情況下,您必須首先確保Avada主題及其所有相關(guān)插件已完全更新。如果這不能解決問(wèn)題,那么您可以嘗試禁用主題,看看是否可以解決問(wèn)題。

與禁用插件不同,在大多數(shù)情況下禁用主題是不可行的。因此,嘗試優(yōu)化主題以消除任何瓶頸。您還可以聯(lián)系主題的支持團(tuán)隊(duì),看看他們是否可以提出更好的解決方案。

在GTmetrix中測(cè)試另一個(gè)慢速網(wǎng)站導(dǎo)致發(fā)現(xiàn)與Visual Composer頁(yè)面構(gòu)建器和通知欄插件類似的問(wèn)題。

另一個(gè)POST admin-ajax.php請(qǐng)求的響應(yīng)數(shù)據(jù)

POST admin-ajax.php請(qǐng)求的Post數(shù)據(jù)

值得慶幸的是,如果您無(wú)法解決插件的問(wèn)題,您最喜歡有許多可供嘗試的替代插件。例如,當(dāng)涉及到頁(yè)面構(gòu)建器時(shí),您還可以嘗試使用Beaver Builder或Elementor。

如何確定admin-ajax.php高使用率的來(lái)源

有時(shí),速度測(cè)試報(bào)告中顯示的Post和Response數(shù)據(jù)可能并不那么清晰和直接。在這里,找到高admin-ajax.php使用率的來(lái)源并不容易。在這種情況下,你總是可以用老派的方式來(lái)做。

禁用您網(wǎng)站的所有插件,清除您網(wǎng)站的緩存(如果有),然后再次運(yùn)行速度測(cè)試。如果admin-ajax.php仍然存在,那么最有可能的罪魁禍?zhǔn)资侵黝}。但是如果找不到,那么你必須一個(gè)一個(gè)地激活每個(gè)插件并每次運(yùn)行速度測(cè)試。通過(guò)消除過(guò)程,您將鎖定問(wèn)題的根源。

使用admin-ajax.php診斷后端服務(wù)器問(wèn)題

admin-ajax.php高使用率的第二個(gè)最常見(jiàn)原因是WordPress Heartbeat API生成頻繁的Ajax調(diào)用,導(dǎo)致服務(wù)器上的CPU使用率高。通常,這是由于許多用戶登錄到WordPress后端儀表盤(pán)造成的。因此,您不會(huì)在速度測(cè)試中看到這一點(diǎn)。

默認(rèn)情況下,Heartbeat API的admin-ajax.php每15秒輪詢一次文件以自動(dòng)保存文章或頁(yè)面。如果您使用的是共享托管服務(wù)器,那么您的站點(diǎn)專用的服務(wù)器資源并不多。如果您正在編輯帖子或頁(yè)面并長(zhǎng)時(shí)間打開(kāi)選項(xiàng)卡,則可能會(huì)產(chǎn)生大量Admin Ajax請(qǐng)求。

例如,當(dāng)您撰寫(xiě)或編輯文章時(shí),僅一個(gè)用戶就可以在一小時(shí)內(nèi)生成240個(gè)請(qǐng)求!

頻繁自動(dòng)保存admin-ajax.php請(qǐng)求

后端有很多請(qǐng)求,只有一個(gè)用戶?,F(xiàn)在想象一個(gè)有多個(gè)編輯器同時(shí)登錄的站點(diǎn)。這樣的站點(diǎn)可以快速增加Ajax請(qǐng)求,從而產(chǎn)生高CPU 使用率。

DARTDRones擴(kuò)展其WooCommerce網(wǎng)站以在Shark Tank上露面時(shí)實(shí)際上遇到了這個(gè)問(wèn)題。

他們的admin-ajax.php在一天內(nèi)接到了4,100多個(gè)電話,只有2,000名獨(dú)立訪客。這是一個(gè)微弱的請(qǐng)求訪問(wèn)比率。

dartdrones.com上大量使用admin-ajax.php

我們注意到/wp-admin引用URL并正確確定了根本原因。這些請(qǐng)求是由于DARTDRones的管理員和編輯經(jīng)常更新網(wǎng)站以期待節(jié)目的播出。

WordPress很久以前就部分修復(fù)了這個(gè)Heartbeat API問(wèn)題。例如,您可以在資源有限的主機(jī)上減少Heartbeat API生成的請(qǐng)求頻率。它還會(huì)在鍵盤(pán)/鼠標(biāo)/觸摸不活動(dòng)一小時(shí)后自行暫停。

使用Heartbeat Control Plugin減少Ajax請(qǐng)求

您可以使用WP Rocket的Heartbeat Control插件輕松解決此問(wèn)題。它允許您只需點(diǎn)擊幾下即可禁用或修改Heartbeat API的頻率。

Heartbeat Control插件

安裝并激活Heartbeat Control插件后,您可以在WordPress儀表盤(pán)、站點(diǎn)前端和文章編輯器上管理Heartbeat API的頻率。

Heartbeat Control插件的“常規(guī)設(shè)置”儀表盤(pán)

如果您的服務(wù)器CPU資源有限,我建議您在WordPress儀表板和前端都Disable Heartbeat。您還可以修改“文章編輯器”選項(xiàng)的Heartbeat頻率并將其增加到30秒(甚至60秒)。頻率越高,使用的服務(wù)器資源節(jié)省的越多。

您必須使用的確切設(shè)置因站點(diǎn)而異。如果您不確定要使用什么,您可以咨詢您的Web開(kāi)發(fā)人員。

由于DDoS攻擊或垃圾郵件機(jī)器人導(dǎo)致的高流量

用DDoS攻擊或垃圾郵件機(jī)器人淹沒(méi)您的網(wǎng)站也會(huì)導(dǎo)致高admin-ajax.php使用率。但是,此類攻擊不一定針對(duì)增加的Admin Ajax請(qǐng)求。這只是附帶損害。

如果您的站點(diǎn)受到DDoS攻擊,您的首要任務(wù)應(yīng)該是將其置于強(qiáng)大的CDN/WAF之后,例如Cloudflare或Sucuri。

要詳細(xì)了解如何保護(hù)您的網(wǎng)站免受此類惡意攻擊,您可以參考我們關(guān)于如何阻止DDoS攻擊的深入指南。

小結(jié)

WordPress在其Heartbeat API中使用Ajax來(lái)實(shí)現(xiàn)其許多核心功能。但是,如果使用不當(dāng),它可能會(huì)導(dǎo)致加載時(shí)間增加。這通常是由于對(duì)文件的高頻率請(qǐng)求造成的admin-ajax.php。

在本文中,您了解了高admin-ajax.php使用率的各種原因、如何診斷導(dǎo)致此癥狀的原因以及如何修復(fù)它。在大多數(shù)情況下,遵循本指南應(yīng)該可以讓您的網(wǎng)站立即恢復(fù)并順利運(yùn)行。

但是,在某些情況下,升級(jí)到具有更高資源的服務(wù)器是唯一可行的解??決方案。特別是對(duì)于要求苛刻的用例,例如電子商務(wù)和會(huì)員網(wǎng)站。如果您正在運(yùn)行這樣的站點(diǎn),請(qǐng)考慮升級(jí)到在處理這些類型的性能問(wèn)題方面經(jīng)驗(yàn)豐富的托管WordPress主機(jī)。


網(wǎng)站欄目:如何診斷WordPress站點(diǎn)Admin-Ajax使用率過(guò)高問(wèn)題
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/djscohi.html