继夫的玩弄H辣文的小说|女人与拘性猛交视频|精品欧美高清不卡高清|一起做亏亏的事情的视频|啦啦啦在线视频观看|望月直播下载ios版本|国产日韩欧美一区二区三区

WordPress 性能優(yōu)化:為什么我的博客比你的快

經(jīng)常看我愛(ài)水煮魚(yú)博客的同學(xué),有沒(méi)有發(fā)現(xiàn)我的博客非常快 , 而你的博客比較慢呢?那是因?yàn)槲业牟┛徒?jīng)過(guò)了優(yōu)化 。
開(kāi)始文章之前,插播一句,首先需要將 WordPress 更新到 6.1,因?yàn)?WordPress 6.1 無(wú)需插件即可實(shí)現(xiàn)站點(diǎn) 0 SQL 。
WordPress 很慢?
很多人都會(huì)覺(jué)得 WordPress 很慢?
作為全世界最通用的建站和博客系統(tǒng) WordPress 來(lái)說(shuō),在設(shè)計(jì)上肯定不會(huì)有太大的性能問(wèn)題,WordPress 開(kāi)發(fā)團(tuán)隊(duì)也肯定也考慮到這個(gè)問(wèn)題 。
那么 WordPress 效率問(wèn)題主要是在哪里呢?
根據(jù)我多年 WordPress 建站和維護(hù)的經(jīng)驗(yàn),很多性能的問(wèn)題都是 WordPress 使用不當(dāng)造成的,比如安裝太多效率低下的插件,使用代碼質(zhì)量低下的主題,沒(méi)有正確處理 WordPress 的緩存等等,所以提高 WordPress 性能,就要從這些方面入手 。

WordPress 性能優(yōu)化:為什么我的博客比你的快

文章插圖
今天就給大家講講自己多年總結(jié)的 WordPress 優(yōu)化經(jīng)驗(yàn)和技巧:
動(dòng)靜態(tài)分離
不管 WordPress 博客還是其他 CMS 建的站點(diǎn),優(yōu)化的第一步一定是動(dòng)靜態(tài)分離,這也是騰訊 , 淘寶等大網(wǎng)站 , 他們圖片的域名和網(wǎng)站的域名不是同一個(gè)的原因 。
網(wǎng)站的靜態(tài)文件一般有兩種:
第一種是網(wǎng)站的 CSS,JS 和一些主題的常用背景圖片和按鈕文件,這些圖片如果網(wǎng)站不進(jìn)行改版或者其他改動(dòng),基本上是不會(huì)修改的 。
第二種是每天更新的網(wǎng)站內(nèi)容時(shí)上傳的圖片或者附件,這些圖片文件也是基本不會(huì)改動(dòng)的 。
解決好靜態(tài)文件的存儲(chǔ)和加速,網(wǎng)站性能就首先能得到基本的保證了,WordPress 構(gòu)建的網(wǎng)站和博客也是一樣的 。對(duì)于這些靜態(tài)文件來(lái)說(shuō) , 最好的解決方案永遠(yuǎn)是使用 CDN 網(wǎng)絡(luò)進(jìn)行加速,這樣服務(wù)器的壓力將大大降低,因?yàn)樵L問(wèn)頁(yè)面只有當(dāng)前頁(yè)面是在自己的服務(wù)器上 , 其他所有圖片,JS 和 CSS 都是從 CDN 上獲取的 。
WordPress 博客怎么使用 CDN 服務(wù),我寫(xiě)的 WPJAM Basic 插件的「CDN 加速」功能,已經(jīng)支持主流的云存儲(chǔ)服務(wù):阿里云OSS 和騰訊云COS 等,只要你安裝了WPJAM Basic 插件 , 就可以一鍵實(shí)現(xiàn) WordPress 博客靜態(tài)文件 CDN 加速 。
服務(wù)器優(yōu)化
優(yōu)化好靜態(tài)文件之后 , 就要開(kāi)始對(duì)網(wǎng)站的動(dòng)態(tài)內(nèi)容進(jìn)行優(yōu)化,優(yōu)化動(dòng)態(tài)內(nèi)容,首先要有一個(gè)穩(wěn)定網(wǎng)絡(luò)環(huán)境,穩(wěn)定的主機(jī)供應(yīng)商和服務(wù)器性能的優(yōu)化 。
選擇一個(gè)靠譜的主機(jī)托管商,個(gè)人推薦 BGP 或者多線機(jī)房,讓全國(guó)用戶訪問(wèn)都能有不錯(cuò)的速度,然后盡量選擇獨(dú)立的服務(wù)器,再不濟(jì) , 也得 VPS, 因?yàn)槟銢](méi)有服務(wù)器的 Root 權(quán)限很多東西是無(wú)法進(jìn)行的,國(guó)內(nèi)一般推薦:阿里云 和 騰訊云 。
服務(wù)器問(wèn)題解決之后,服務(wù)器可以做如下優(yōu)化:
安裝 Memcached 和 PHP Memcached 擴(kuò)展,參考:使用 Memcached 來(lái)緩存 WordPress 數(shù)據(jù) 。PHP 開(kāi)啟 OPCache:把經(jīng)過(guò)編譯后的 PHP 代碼緩存到共享內(nèi)存中,并在用戶訪問(wèn)的時(shí)候直接調(diào)用從而起到高效的加速作用 。MySQL 設(shè)置 MySQL Query Cache , 可以保存保存查詢結(jié)果,同樣的查詢不再?gòu)臄?shù)據(jù)庫(kù)檢索,對(duì)速度有很大的提升 。WordPress 緩存和優(yōu)化
要徹底明白和搞懂 WordPress 性能優(yōu)化 , 首先要理解 WordPress 緩存機(jī)制,WordPress 默認(rèn)是一種叫做 WordPress Object Cache 的對(duì)象緩存機(jī)制,它是把需要緩存的內(nèi)容按照 Key-Value 這樣的模式進(jìn)行緩存(和 No-SQL 的 key-value 的有點(diǎn)類(lèi)似),當(dāng)然它還支持按照 Group 來(lái)劃分和避免緩存的內(nèi)容沖突 。
所以最基礎(chǔ)的 WordPress 緩存插件就是 , 把 WordPress 產(chǎn)生的 Key-Value 存起來(lái),如果是使用 Memcached,就是存到內(nèi)存,如果使用文件就是存到硬盤(pán)中 。
當(dāng)然高級(jí)的 WordPress 插件還能做更多,比如 WP Super Cache WordPress 各種緩存插件介紹和應(yīng)用把整個(gè)頁(yè)面緩存到硬盤(pán)中,下次直接訪問(wèn)靜態(tài)的 HTML 文件 , 讓服務(wù)器直接繞過(guò) PHP,節(jié)約 CPU 時(shí)間 。Batcache 會(huì)把整個(gè)頁(yè)面當(dāng)做一個(gè)對(duì)象存到內(nèi)存里面 。我個(gè)人推薦使用 Memcached 足夠 。
Memcached 會(huì)把 WordPress 的對(duì)象存到內(nèi)存里面 , 服務(wù)器的內(nèi)存足夠大,讀取和存儲(chǔ)速度也夠快,并且內(nèi)存緩存命中率也大于 99% 。另外我們 WordPress 程序經(jīng)過(guò)優(yōu)化之后,每個(gè)頁(yè)面的查詢一般在 2 條左右 , 所以整個(gè)網(wǎng)站效率很高,首頁(yè)甚至做到 0 SQL,頁(yè)面生成只需要 0.0013秒 。
WPJAM Basic 插件已經(jīng)集成了 Memcached,下載 WPJAM Basic之后,將 wpjam-basic/template/ 目錄下的 object-cache.php 文件復(fù)制到 wp-content 目錄下即可 。
WordPress 各種用不上的功能,或者可能影響性能的功能,如果可能也盡量關(guān)閉,WPJAM Basic 的優(yōu)化設(shè)置功能 , 已經(jīng)把這一塊做到了極致,點(diǎn)擊這里查看一下優(yōu)化設(shè)置功能介紹 , 這也是我一直推薦 WPJAM Basic,是真正的優(yōu)化插件 。
WordPress 性能優(yōu)化:為什么我的博客比你的快

文章插圖
主題和插件優(yōu)化
主題和插件優(yōu)化優(yōu)化也是基于 WordPress Object Cache 的機(jī)制對(duì) WordPress 插件和主題的代碼進(jìn)行優(yōu)化,主要經(jīng)驗(yàn)有以下幾點(diǎn):
大家都能掌握的:
只使用必須的 WordPress 插件,安裝太多的 WordPress 插件很容易引起性能問(wèn)題,并且如果從一些不明途徑下載插件,可能還有安全問(wèn)題 。
從正規(guī)站點(diǎn)下載 WordPress 主題,這樣下載的主題才能保證質(zhì)量和安全,推薦我和 xintheme 發(fā)布的收費(fèi)的 Autumn-Pro 和免費(fèi)的 Sweet 主題,關(guān)于主題這一塊可以還可以深度了解一下:WordPress 性能優(yōu)化的基礎(chǔ)是一款速度夠快的主題 。
如果你會(huì)寫(xiě)程序:
WordPress 主題和插件盡量使用模板函數(shù),因?yàn)?WordPress 模板函數(shù)如果可能都已經(jīng)做好了 WordPress Object Cache 。
比如 get_the_terms 和 wp_get_object_terms 這兩個(gè)函數(shù),功能基本一樣,但是 get_the_terms 直接從對(duì)象緩存中取數(shù)據(jù),無(wú) SQL 查詢,而 wp_get_object_terms 每次都從數(shù)據(jù)庫(kù)中取數(shù)據(jù) 。
WordPress 插件和主題如果一定要直接查詢數(shù)據(jù)庫(kù),請(qǐng)做好 Object Cache,將查詢的結(jié)果使用 wp_cache_set 存到 Object Cache 中 , 下次直接使用 wp_cache_get 獲取 。
【W(wǎng)ordPress 性能優(yōu)化:為什么我的博客比你的快】