久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

將WordPress REST API性能與admin-ajax.php進(jìn)行比較

研究典型的REST請求以及提出的類似請求admin-ajax.php以了解它們之間的比較情況

自引入WordPress REST API以來,許多插件開發(fā)人員已開始將其插件轉(zhuǎn)換為使用REST API而不是較舊的AJAX API(admin-ajax.php)。除了REST API只是一種較新的技術(shù)外,有傳言說REST API也比舊的端點(diǎn)更快,更可靠,原因是在典型的REST請求期間沒有加載太多的WordPress。

在本文中,我們將研究典型的REST請求以及提出的類似請求admin-ajax.php以了解它們之間的比較情況。

將WordPress REST API性能與admin-ajax.php進(jìn)行比較
將WordPress REST API性能與admin-ajax.php進(jìn)行比較

admin-ajax.php請求的壽命

讓我們首先分解一下當(dāng)我們向發(fā)出典型的AJAX請求時(shí)會(huì)發(fā)生什么admin-ajax.php。當(dāng)您的瀏覽器對該文件發(fā)出請求時(shí),它會(huì)加載其他一些核心WordPress文件,以便能夠在加載了核心功能的情況下滿足請求:

/wp-load.php
/wp-config.php
/wp-settings.php?(它會(huì)加載大多數(shù)核心文件,所有活動(dòng)的插件和主題以及REST API)
/wp-admin/admin.php
/wp-admin/includes/ajax-actions.php

加載這些文件后,WordPress將調(diào)用該admin_init掛鉤,幾個(gè)核心功能都將掛鉤。在WordPress 4.5.3的此鉤子上調(diào)用了以下核心功能:

register_admin_color_schemes
send_frame_options_header
_wp_check_for_scheduled_split_terms
_wp_admin_bar_init
_maybe_update_core
_maybe_update_plugins
_maybe_update_themes

調(diào)用完這些函數(shù)后,WordPress最終將調(diào)用$_GET[‘a(chǎn)ction’]$_POST[‘a(chǎn)ction’]變量中提供的AJAX操作。

REST API請求的生命周期

admin-ajax.php請求相比,典型的REST請求看起來略有不同。由于REST端點(diǎn)是由WordPress重寫API處理的,因此請求將傳遞到/index.php,然后正常加載其余WordPress。

/index.php
/wp-blog-header.php
/wp-load.php
/wp-config.php
/wp-settings.php?(它會(huì)加載大多數(shù)核心文件,所有活動(dòng)的插件和主題以及REST API)

與發(fā)送過來的請求不同admin-ajax.php,REST API不會(huì)通過加載WordPress管理部分/wp-admin/admin.php,也不會(huì)觸發(fā)admin_init動(dòng)作掛鉤?;诖?,任何不依賴于管理員特定功能(但使用admin-ajax.php)的插件或主題都可能會(huì)通過切換到REST API來獲得輕微的性能提升。

基準(zhǔn)測試

既然我們已經(jīng)看到了幕后發(fā)生的事情,那么讓我們建立一個(gè)可以輕松進(jìn)行基準(zhǔn)測試的場景。為此,我們將創(chuàng)建一個(gè)可以在admin-ajax.php或REST API上運(yùn)行的簡單函數(shù):

function benchmark_request() {
    $result = array( 'time' => time() );
    echo json_encode( $result );
    exit;
}

add_action( 'wp_ajax_benchmark_request', 'benchmark_request' );
add_action( 'rest_api_init', function() {
    register_rest_route( 'benchmark/v1', '/benchmark/', array(
        'methods'  => 'POST',
        'callback' => 'benchmark_request'
   ) );
} );

上面的函數(shù)只是返回JSON中的時(shí)間-這只會(huì)有助于使您更容易看到請求沒有被緩存。

為了執(zhí)行實(shí)際的基準(zhǔn)測試,我們將使用ApacheBench,這是一個(gè)命令行基準(zhǔn)測試工具,它使您可以一次觸發(fā)多個(gè)請求以了解服務(wù)器的性能。

讓我們admin-ajax.php先測試版本。

 ab -n 100 -c 1 -p ~/Desktop/post.data -g ~/Desktop/ajax.tsv -T application/x-www-form-urlencoded http://localhost/rest-api/wp-admin/admin-ajax.php

上面的命令將100個(gè)POST請求發(fā)送到該/wp-admin/admin-ajax.php文件并記錄響應(yīng)時(shí)間。post.data引用的文件只是一個(gè)文本文件,其中包含要與請求一起發(fā)送的URL編碼的$ _POST值(在本例中為action=benchmark_request)。

將WordPress REST API性能與admin-ajax.php進(jìn)行比較

在100個(gè)請求下,在MAMP和PHP 7上全新安裝WordPress且未激活其他插件的情況下,平均響應(yīng)時(shí)間為253ms。這為基于REST API的相同測試提供了良好的基準(zhǔn):

ab -n 100 -c 1 -p ~/Desktop/post.data -g ~/Desktop/rest.tsv -T application/x-www-form-urlencoded http://loc
將WordPress REST API性能與admin-ajax.php進(jìn)行比較

毫不奇怪,在此比較中,REST API的速度稍快,在100個(gè)請求中的平均響應(yīng)時(shí)間為217ms。顯然,這并不是一個(gè)很大的差異,REST API僅比傳統(tǒng)的AJAX API快15%,但是在許多請求中,這種微小的差異肯定會(huì)加起來,尤其是當(dāng)添加了更多插件時(shí)。

讓我們運(yùn)行相同的基準(zhǔn)測試,但激活一些插件。對于這些測試,我激活了一些常見的插件,您可能會(huì)在典型的網(wǎng)站上找到它們:

  • ACF
  • Akismet
  • Black Studio TinyMCE小工具
  • WP遷移數(shù)據(jù)庫
  • WP超級緩存
  • Yoast SEO

盡管總體響應(yīng)時(shí)間有所增加,但admin-ajax.php和REST API之間的性能差距仍然大致相同。隨著額外的插件加載,REST API,將約16%的速度,并有一個(gè)平均響應(yīng)時(shí)間490ms相比567ms以上admin-ajax.php

具有大量插件的網(wǎng)站可以通過REST API看到更大的性能提升,但這完全取決于正在運(yùn)行哪些插件以及如何對其進(jìn)行編碼。

因此,您應(yīng)該使用WordPress REST API嗎?

從性能的角度來看,顯然有一點(diǎn)優(yōu)勢。添加自定義API端點(diǎn)非常簡單,并且由于不必加載太多WordPress核心(包括管理區(qū)域和常用admin_init鉤子),因此它admin-ajax.php在大多數(shù)情況下可能會(huì)比使用更快。

在可靠性方面,REST API仍取決于活動(dòng)插件或主題的質(zhì)量和完整性。編碼不良的插件仍可能輕易干擾REST請求,尤其是將來有更多插件采用REST API時(shí)。但是,由于使用REST API的插件較少,因此目前應(yīng)該更可靠。

總體而言,至少考慮使用REST API絕對是一個(gè)好主意。添加自定義API端點(diǎn)非常簡單,并且切換現(xiàn)有代碼也不需要很多。

給TA贊賞
共{{data.count}}人
人已贊賞
??
Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
無意侵害您的權(quán)益,請發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
?
購物車
優(yōu)惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    9000px;">

      日韩影院免费视频| 蜜桃久久av一区| 日韩欧美视频一区| 国产日韩欧美在线一区| 免费不卡在线观看| 欧美日韩国产小视频在线观看| 久久精品一区二区三区不卡| 亚洲综合一区二区精品导航| 精品国产乱码久久久久久久| 99久久99精品久久久久久| 日本美女视频一区二区| 国产色一区二区| 久久久久亚洲蜜桃| 国产精品99久久久久久久女警| 国产成人在线免费观看| 久久精品一区四区| 亚洲一区欧美一区| 日本人妖一区二区| 欧美日本一道本| 免费观看日韩电影| 日韩精品久久理论片| 欧美日韩国产色站一区二区三区| 理论电影国产精品| 色噜噜狠狠色综合中国| 亚洲精品伦理在线| 91丨九色丨尤物| 一区二区三区日韩欧美| 精品日韩一区二区三区免费视频| 欧美日韩一区成人| 不卡av免费在线观看| 国产成人在线视频播放| 国产99久久久精品| 久久精品国产亚洲aⅴ| 日本大胆欧美人术艺术动态| 成人免费在线观看入口| 亚洲免费电影在线| 卡一卡二国产精品| 首页综合国产亚洲丝袜| 成人aa视频在线观看| 日韩欧美的一区二区| 亚洲欧美欧美一区二区三区| 99久久精品国产观看| 欧美mv日韩mv亚洲| 国产成人8x视频一区二区 | 欧美一区二区三区免费大片| 亚洲香肠在线观看| 在线观看www91| 麻豆91免费观看| 中文字幕制服丝袜一区二区三区| 色综合天天在线| 蜜桃一区二区三区在线观看| 精品国产一区二区国模嫣然| 国产一区视频网站| 一区二区激情小说| 精品国产一区二区三区忘忧草| 99国产精品国产精品久久| 亚洲国产一区二区三区| 久久精品在线免费观看| 在线精品亚洲一区二区不卡| 日本视频免费一区| 亚洲高清免费视频| 日韩一区中文字幕| 日本一区二区三区在线观看| 欧美顶级少妇做爰| 欧美在线免费视屏| 成av人片一区二区| 黄色精品一二区| 免费成人小视频| 天天色综合成人网| 亚洲天堂网中文字| 精品久久99ma| 欧美一区二区黄色| 555www色欧美视频| 欧美日韩高清一区二区不卡| 99久久久久免费精品国产 | 欧美另类videos死尸| av电影一区二区| 成人在线视频首页| 91免费看视频| 色综合一区二区三区| 99视频在线精品| 91在线视频免费观看| 在线一区二区三区| 欧美三级日韩三级国产三级| 在线亚洲一区二区| 欧美浪妇xxxx高跟鞋交| 日韩欧美国产午夜精品| 日韩美女在线视频 | 欧美精品丝袜久久久中文字幕| 色菇凉天天综合网| 欧美群妇大交群的观看方式| 欧美日韩二区三区| 精品福利av导航| 亚洲国产高清不卡| 亚洲成va人在线观看| 美国av一区二区| 一本大道久久a久久综合| 3d动漫精品啪啪一区二区竹菊| 精品成a人在线观看| 亚洲精品一卡二卡| 黑人巨大精品欧美一区| 色婷婷av一区二区三区软件| 欧美色男人天堂| 欧美韩日一区二区三区四区| 亚洲成人777| 色综合久久六月婷婷中文字幕| 9191久久久久久久久久久| 国产女主播在线一区二区| 日韩高清欧美激情| 一本一道波多野结衣一区二区| 日韩免费福利电影在线观看| 亚洲欧美自拍偷拍| 精品午夜久久福利影院| 91久久线看在观草草青青| 久久久综合精品| 国产一区二区导航在线播放| 国产精品一区三区| 国产午夜精品一区二区三区嫩草| 秋霞影院一区二区| 51精品国自产在线| 强制捆绑调教一区二区| 欧美三级电影在线看| 亚洲美女在线一区| 在线国产电影不卡| 亚洲精品久久久蜜桃| 在线国产电影不卡| 午夜av一区二区三区| 日韩视频免费观看高清完整版 | 中文字幕不卡在线播放| 国产成人激情av| 国产欧美视频一区二区| 91在线精品一区二区| 亚洲国产日韩综合久久精品| 欧美亚一区二区| 免费观看在线色综合| 国产亚洲va综合人人澡精品| 国产91精品一区二区麻豆亚洲| 国产精品对白交换视频| 欧美日韩情趣电影| 国产精品久久久爽爽爽麻豆色哟哟| 91日韩一区二区三区| 日韩一区精品视频| 久久久久久久久久久久久久久99 | 国产亚洲成aⅴ人片在线观看| 色婷婷综合激情| 国产曰批免费观看久久久| 亚洲女子a中天字幕| 久久综合久久综合亚洲| 一本大道av一区二区在线播放| 美女任你摸久久| 亚洲国产成人精品视频| 久久亚洲一区二区三区明星换脸| 91丨九色porny丨蝌蚪| 韩国精品主播一区二区在线观看| 亚洲欧美电影院| 亚洲欧洲精品一区二区三区 | 国产在线观看一区二区| 日韩av一区二区三区四区| 亚洲一区二区高清| 一区二区三区在线视频播放| 国产精品美女久久久久久久 | 懂色av一区二区三区蜜臀| 麻豆精品视频在线| 美女视频黄久久| 久88久久88久久久| 久久99最新地址| 久久精品国产亚洲a| 亚洲高清免费一级二级三级| 夜夜爽夜夜爽精品视频| 午夜婷婷国产麻豆精品| 青娱乐精品在线视频| 日韩高清在线电影| 激情文学综合插| 国产.欧美.日韩| 色综合一个色综合| 在线不卡免费av| 久久久五月婷婷| 中文字幕va一区二区三区| 国产精品福利影院| 视频在线观看一区| 国产一区二区三区香蕉 | 亚洲天天做日日做天天谢日日欢| 国产精品视频线看| 亚洲国产日韩综合久久精品| 免费成人在线影院| 99热99精品| 国产日韩欧美亚洲| 美国毛片一区二区三区| 91女人视频在线观看| 欧美成人一区二区三区片免费| 国产精品久久久久一区二区三区| 天天亚洲美女在线视频| 色综合夜色一区| 中文av一区特黄| 国产精品99久久久久久久女警| 欧美丰满美乳xxx高潮www| 一区二区三区欧美日| 色狠狠一区二区三区香蕉| 亚洲天堂免费看| 粉嫩绯色av一区二区在线观看|