Pengehosan & prestasi

Bagaimana kami menjadikan WordPress pantas: LiteSpeed Enterprise, LSCache dan Redis bagi setiap tapak

Permintaan WordPress yang terpantas ialah permintaan yang tidak pernah dijalankan — ini cara tindanan kami menjawab kebanyakan lawatan daripada cache sebelum PHP atau MySQL sempat dipanggil, dan maksudnya untuk Core Web Vitals.

Permintaan yang paling pantas ialah permintaan yang tidak pernah dijalankan

Permintaan WordPress standard menggunakan banyak sumber. Pelayan web menyerahkan proses kepada PHP, PHP memulakan WordPress, menjalankan pemalam, menanyakan MySQL beberapa puluh kali, menyusun HTML, dan hanya selepas itu menghantar bait kembali. Pada tapak yang sibuk, keseluruhan proses tersebut berlaku untuk setiap pelawat, dan di situlah hampir keseluruhan time-to-first-byte anda digunakan.

Jawapan kami adalah untuk memastikan bahawa, bagi kebanyakan lawatan, tiada satu pun daripadanya berlaku langsung. Di seluruh tapak yang kami hoskan — lebih daripada 100,000 tapak PBN serta WordPress terurus arus perdana — sebahagian besar paparan halaman bahagian hadapan disampaikan sebagai halaman penuh yang dipra-render terus daripada cache, tanpa melibatkan PHP atau menyentuh pangkalan data. Baki siaran ini adalah tentang cara lapisan yang membolehkannya disepadukan bersama, dan di mana setiap lapisan membuktikan nilainya.

Perkara penting yang perlu difahami ialah ini bukanlah cache yang bersaing sesama sendiri untuk anda pilih. Cache halaman penuh, cache objek dan pinggir CDN masing-masing mengendalikan kelas permintaan yang berbeza, dan nilainya terletak pada cara ia saling menyerahkan tugas antara satu sama lain.

LiteSpeed Enterprise + LSCache: lapisan halaman penuh

Setiap laman dijalankan pada LiteSpeed Enterprise dengan LSCache peringkat pelayan. Apabila respons bahagian hadapan boleh dicache, pelayan web menandakannya dengan pengepala tag dan kawalan cache LiteSpeed, dan LiteSpeed menyajikan halaman lengkap secara langsung pada kunjungan seterusnya — tiada proses PHP dimulakan, tiada pertanyaan MySQL dikeluarkan. Itu merupakan pemacu terbesar tunggal terhadap TTFB WordPress, kerana ia menyingkirkan keseluruhan but aplikasi daripada laluan utama.

Oleh kerana LSCache berada di dalam pelayan web dan bukannya dalam pemalam PHP, ia mula berfungsi lebih awal dalam kitaran hayat permintaan serta menyimpan halaman dalam bentuk yang boleh dikosongkan oleh pelayan secara serta-merta. Perangkak cache memastikan halaman popular sentiasa sedia untuk diakses, supaya pelawat pertama selepas pembersihan cache tidak perlu menanggung masa penjanaan semula halaman. Hasilnya ialah TTFB yang jauh lebih rendah dan lebih konsisten berbanding cache berasaskan pemalam sahaja yang dipasang pada tindanan generik, yang mana cachenya masih berada di belakang PHP.

Pemalam cache gred repo kami diprapasang dan dikemas kini secara automatik pada setiap tapak, menyambungkan WordPress ke LSCache dengan betul secara terus. Pada hos asal bukan LiteSpeed, ia tidak akan mengeluarkan pengepala halaman penuh dan tidak mengganggu, manakala cache objek dan peraturan pengecualian terus berfungsi — jadi tapak yang dimigrasikan tidak akan ditinggalkan dalam keadaan separa terkonfigurasi atau rosak.

Kekal pantas tanpa menyajikan kandungan lapuk: ESI dan pembersihan automatik pintar

Pengepalan halaman penuh yang agresif mempunyai dua mod kegagalan klasik: menyajikan halaman orang lain kepada pengguna yang telah log masuk, dan menyajikan halaman yang sepatutnya berubah kepada sesiapa sahaja. Kedua-duanya diselesaikan pada lapisan pengepalan dan bukannya dengan mengurangkan pengepalan.

ESI (Edge Side Includes) membolehkan kami mengepam halaman sambil menebuk lubang untuk bahagian yang mesti kekal dinamik. Di kedai WooCommerce, halaman katalog, produk dan kategori disajikan sebagai cache halaman penuh untuk TTFB yang terpantas, manakala ESI memaparkan serpihan troli, jumlah troli mini dan status akaun bagi setiap permintaan. Troli, pembayaran keluar, akaun saya serta mana-mana halaman nonce atau sesi dikecualikan secara lalai. Pembeli sentiasa melihat bakul mereka sendiri dan pembayaran keluar yang berfungsi; semua orang tetap mendapat bahagian hadapan kedai daripada cache.

Kesegaran kandungan diuruskan oleh pembersihan automatik pintar. Cangkuk pembersihan dicetuskan secara automatik apabila kandungan, produk, harga atau pesanan berubah, jadi halaman tercache yang berkaitan dimuat semula serta-merta dan bukannya mengikut pemasa, dan anda juga boleh membersihkan cache mengikut permintaan daripada papan pemuka atau dari dalam WordPress. Pembersihan berasaskan tag bermakna menyunting satu siaran hanya membersihkan siaran tersebut dan arkibnya — bukan keseluruhan cache — jadi satu suntingan tidak akan memulakan sejuk (cold-start) keseluruhan tapak.

Cache objek Redis bagi setiap tapak: untuk perkara yang tidak boleh menjadi halaman penuh

Bukan setiap permintaan boleh menjadi halaman penuh statik. Sesi log masuk, pentadbir WordPress, troli WooCommerce, carian, dan serpihan dinamik yang dibiarkan hidup oleh ESI semuanya perlu menjalankan PHP. Untuk itu, matlamatnya beralih daripada 'langkau aplikasi' kepada 'langkau pangkalan data'.

Setiap tapak mendapat cache objek Redis tersendiri yang dikhususkan. WordPress menyimpan hasil pembacaan pangkalan data yang berulang — pilihan, transien, carian siaran dan istilah, data produk serta sesi WooCommerce — dalam ingatan, supaya pertanyaan yang sama tidak dijalankan terhadap MySQL pada setiap kunjungan. Kesannya paling ketara di bahagian yang tidak dapat dibantu oleh cache halaman penuh: papan pemuka yang lebih pantas, troli yang lebih pantas, dan beban pangkalan data yang jauh lebih rendah semasa trafik tinggi.

Cache objek adalah untuk setiap laman dan bukannya dikongsi, yang mana penting untuk prestasi dan juga pengasingan. Digabungkan dengan pendikit pangkalan data bagi setiap laman, pertanyaan yang berat atau ditulis dengan lemah oleh satu laman tidak boleh melumpuhkan pangkalan data laman bersebelahan. Anda boleh membaca lebih lanjut tentang bagaimana keseluruhan konfigurasi berbilang lapisan ini berfungsi bersama pada halaman ciri caching kami, dan tentang sempadan antara penyewa di bawah pengasingan.

Edge dan pengangkutan di bawahnya

Capaian cache yang berada pada pelayan asal masih perlu merentasi rangkaian. Di hadapan pelayan terletaknya pinggir CDN, maka aset statik dan halaman yang boleh dicache disampaikan daripada titik kehadiran (point of presence) yang berhampiran dengan pelawat, dan pelayan asal kekal tenang walaupun di bawah bebanan tinggi. Bagi rangkaian pengehosan bebas-footprint kami, pinggir yang sama merupakan kelompok multi-CDN yang tersebar merentasi beberapa penyedia, yang memenuhi matlamat footprint serta prestasi; pada WordPress arus perdana, ia hanyalah lapisan yang pantas dan terkawal rapi yang memastikan pelayan asal sentiasa terbiar.

Di sebaliknya, aspek asas tidak diabaikan sama sekali. Laman web beroperasi pada storan NVMe dengan HTTP/3, jadi bait yang dihantar oleh cache tiba melalui pengangkutan moden yang dimultiplekskan dengan storan pantas di sebalik sebarang kegagalan cache (cache miss). Tiada satu pun daripada lapisan ini merupakan fungsi tambahan berbayar: LiteSpeed, LSCache, Redis bagi setiap laman, NVMe dan HTTP/3 merupakan garis dasar pada setiap pelan, bukan tahap jualan naik (upsell).

Perkara yang benar-benar mempengaruhi Core Web Vitals

Ketepatan adalah penting, kerana pengehosan sering dipromosikan secara berlebihan mengenai Core Web Vitals. TTFB ialah bahagian persamaan yang dikawal oleh pelayan, dan tindanan caching di atas adalah perkara yang menurunkannya — halaman penuh bercache yang disajikan melalui HTTP/3 daripada pinggir adalah serendah yang mungkin untuk TTFB. Oleh kerana TTFB ialah fasa awal Largest Contentful Paint, asal yang pantas memberikan setiap metrik hiliran kelebihan permulaan yang tidak boleh diperolehi dengan cara lain.

Tetapi LCP, CLS dan INP kebanyakannya ditentukan dalam penyemak imbas, oleh halaman itu sendiri: imej hero yang tidak dioptimumkan, CSS dan JavaScript yang menyekat perenderan, reka letak yang beralih apabila fon dan iklan dimuatkan, serta beban kerja urutan utama yang berat daripada pemalam. Tiada jumlah caching pelayan yang dapat membetulkan imej hero 2 MB atau tema yang menghantar megabait JavaScript. Pengehosan yang jujur menjadikan sumbangan pelayan bebas secara berkesan dan konsisten, kemudian terpulang kepada laman web untuk memastikan bahagian hadapan kekal ringan.

Pembahagian tugas tersebut merupakan model mental yang berguna. Kami menjamin permintaan sampai ke pelayar dengan pantas dan kekal pantas di bawah trafik; anda memastikan saiz muatan (payload) kecil dan stabil. Titik pertemuan kedua-duanya — pemanasan cache, penghantaran edge, dan mengekalkan responsif pangkalan data agar halaman dinamik tidak terhenti — adalah tepat di mana tindanan kami dilaraskan, dan itulah yang menjadikan WordPress terurus di platform ini lebih pantas berbanding tapak yang sama pada hos generik.

Soalan lazim

Adakah saya masih memerlukan pemalam pengecaman seperti WP Rocket?

Tidak. Pengecaman halaman penuh dikendalikan pada pelayan web oleh LSCache LiteSpeed, dan pemalam cache kami sendiri — diprapasang dan dikemas kini secara automatik — memautkan WordPress kepadanya dengan betul, dengan cache objek Redis bagi setiap tapak di belakangnya. Menindih pemalam pengecaman halaman penuh kedua lazimnya bercanggah dengan cache peringkat pelayan berbanding membantu, jadi ia tidak diperlukan dan tidak disyorkan.

Adakah caching akan merosakkan troli WooCommerce atau halaman log masuk saya?

Tidak. Cart, checkout, my-account dan sebarang halaman nonce atau session dikecualikan daripada cache secara lalai, dan ESI memastikan serpihan troli serta jumlah kekal langsung pada halaman yang sebaliknya dicache. Pembeli sentiasa melihat bakul mereka sendiri dan daftar keluar yang berfungsi sementara etalase masih dimuatkan daripada cache.

Bagaimanakah cache kekal terkini apabila saya menerbitkan atau mengedit?

Pembersihan automatik pintar dicetuskan pada cangkuk WordPress yang berkaitan, jadi penerbitan, penyuntingan kandungan atau perubahan produk, harga atau pesanan hanya mengosongkan halaman yang terjejas dan arkibnya — bukan keseluruhan cache — dan perayap memanaskannya semula. Anda juga boleh membersihkannya atas permintaan daripada papan pemuka atau dari dalam WordPress.

Bolehkah pengehosan sahaja memberikan saya Core Web Vitals yang sempurna?

Ia memberikan anda TTFB yang terbaik, yang merupakan bahagian pelayan dan kelebihan awal untuk Largest Contentful Paint. Tetapi LCP, CLS dan INP sebahagian besarnya ditentukan oleh halaman itu sendiri — saiz imej, aset penghalang pemaparan, kestabilan reka letak dan JavaScript jaluran utama. Tindanan kami menjadikan sumbangan pelayan pantas dan konsisten; mengekalkan muatan bahagian hadapan yang ringan adalah kunci untuk merapatkan baki jurang tersebut.

Cuba secara percuma selama 14 hari

Lancarkan tapak pertama anda secara percuma selama 14 hari — tiada kad diperlukan. Memindahkan rangkaian sedia ada? Migrasi adalah percuma, tanpa had.

Mula secara percuma