โฮสติ้งและประสิทธิภาพ
วิธีที่เราทำให้ WordPress ทำงานได้รวดเร็ว: LiteSpeed Enterprise, LSCache และ Redis สำหรับแต่ละเว็บไซต์
คำขอ WordPress ที่เร็วที่สุดคือคำขอที่ไม่เคยถูกเรียกทำงาน — นี่คือวิธีที่สแตกของเราตอบสนองการเข้าชมส่วนใหญ่จากแคชก่อนที่ PHP หรือ MySQL จะถูกเรียกใช้งาน และสิ่งนี้มีความหมายอย่างไรต่อ Core Web Vitals
คำขอที่เร็วที่สุดคือคำขอที่ไม่เคยถูกประมวลผล
คำขอ WordPress แบบมาตรฐานนั้นสิ้นเปลืองทรัพยากรมาก เว็บเซิร์ฟเวอร์จะส่งต่อให้ PHP, PHP จะเริ่มต้นระบบ WordPress, เรียกใช้ปลั๊กอิน, คิวรี MySQL หลายสิบครั้ง, ประกอบ HTML และหลังจากนั้นจึงส่งไบต์กลับมา บนไซต์ที่มีผู้ใช้งานหนาแน่น ขั้นตอนทั้งหมดนั้นจะเกิดขึ้นกับผู้เยี่ยมชมทุกคน และนั่นคือจุดที่ time-to-first-byte เกือบทั้งหมดของคุณถูกใช้ไป
คำตอบของเราคือการทำให้แน่ใจว่า สำหรับการเข้าชมส่วนใหญ่แล้ว สิ่งเหล่านี้จะไม่เกิดขึ้นเลยแม้แต่น้อย ในบรรดาเว็บไซต์ที่เราดูแล — เว็บไซต์ PBN มากกว่า 100,000 แห่ง รวมทั้ง WordPress แบบมีการจัดการทั่วไป — การเปิดดูหน้าเว็บฝั่งหน้าบ้านส่วนใหญ่จะถูกส่งมอบเป็นหน้าเว็บแบบเต็มที่ผ่านการประมวลผลไว้ล่วงหน้าโดยตรงจากแคช โดยไม่มีการเรียกใช้ PHP หรือแตะต้องฐานข้อมูลเลย ส่วนที่เหลือของบทความนี้จะเกี่ยวกับวิธีที่เลเยอร์ต่างๆ ซึ่งทำให้สิ่งนี้เป็นจริงทำงานร่วมกัน และเหตุผลที่แต่ละเลเยอร์มีคุณค่าในตำแหน่งของตนเอง
กรอบความคิดที่สำคัญคือ สิ่งเหล่านี้ไม่ใช่แคชที่แข่งขันกันเพื่อให้คุณเลือกใช้งานอย่างใดอย่างหนึ่ง แคชทั้งหน้าเว็บ แคชอ็อบเจกต์ และ CDN edge ต่างดักจับคำขอคนละประเภทกัน และคุณค่าที่แท้จริงอยู่ที่วิธีที่ระบบเหล่านี้ส่งต่องานให้แก่กัน
LiteSpeed Enterprise + LSCache: เลเยอร์เต็มหน้าเพจ
ทุกเว็บไซต์ทำงานบน LiteSpeed Enterprise พร้อม LSCache ระดับเซิร์ฟเวอร์ เมื่อการตอบสนองส่วนหน้าสามารถแคชได้ เว็บเซิร์ฟเวอร์จะประทับตราด้วยส่วนหัวการควบคุมแคชและแท็กของ LiteSpeed และ LiteSpeed จะส่งมอบหน้าเว็บที่สมบูรณ์โดยตรงในการเข้าชมครั้งต่อไป — ไม่มีการสร้างกระบวนการ PHP และไม่มีการส่งคำสั่ง MySQL นี่คือปัจจัยสำคัญอันดับหนึ่งต่อ TTFB ของ WordPress เนื่องจากเป็นการตัดขั้นตอนการบูตแอปพลิเคชันทั้งหมดออกจากเส้นทางหลัก
เนื่องจาก LSCache ทำงานอยู่ภายในเว็บเซิร์ฟเวอร์โดยตรง ไม่ได้อยู่ในปลั๊กอิน PHP จึงเริ่มทำงานได้เร็วกว่าในวงจรชีวิตของคำขอ และจัดเก็บหน้าเว็บในรูปแบบที่เซิร์ฟเวอร์สามารถล้างข้อมูลได้ทันที ตัวรวบรวมข้อมูลแคชจะคอยอุ่นหน้าเว็บยอดนิยมไว้ เพื่อให้ผู้เยี่ยมชมคนแรกหลังจากการล้างข้อมูลไม่ต้องรับภาระในการสร้างหน้าเว็บขึ้นมาใหม่ ผลลัพธ์ที่ได้คือค่า TTFB ที่ลดลงอย่างเห็นได้ชัดและมีความสม่ำเสมอมากกว่าแคชที่ใช้เฉพาะปลั๊กอินบนสแตกทั่วไป ซึ่งแคชยังคงทำงานอยู่เบื้องหลัง PHP
ปลั๊กอินแคชระดับคลังข้อมูลของเราได้รับการติดตั้งไว้ล่วงหน้าและอัปเดตโดยอัตโนมัติในทุกไซต์ โดยเชื่อมต่อ WordPress เข้ากับ LSCache อย่างถูกต้องตั้งแต่เริ่มต้น บนเซิร์ฟเวอร์ต้นทางที่ไม่ใช่ LiteSpeed ปลั๊กอินจะไม่ส่งส่วนหัวแบบเต็มหน้าและไม่รบกวนการทำงาน ในขณะที่แคชออบเจกต์และกฎการยกเว้นยังคงทำงานต่อไป — ดังนั้นไซต์ที่ย้ายข้อมูลมาจะไม่ตกอยู่ในสถานะที่เสียหายหรือกำหนดค่าไว้เพียงครึ่งๆ กลางๆ อย่างแน่นอน
รักษาความรวดเร็วโดยไม่แสดงเนื้อหาที่ล้าสมัย: ESI และการล้างข้อมูลอัตโนมัติแบบอัจฉริยะ
การแคชทั้งหน้าแบบเชิงรุกมีรูปแบบความล้มเหลวคลาสสิกสองประการ ได้แก่ การแสดงผลหน้าของผู้อื่นให้แก่ผู้ใช้ที่เข้าสู่ระบบแล้ว และการแสดงผลหน้าที่ควรจะเปลี่ยนแปลงแล้วให้แก่ใครก็ตาม ทั้งสองปัญหานี้ได้รับการแก้ไขที่ระดับชั้นการแคชมากกว่าการลดการแคชลง
ESI (Edge Side Includes) ช่วยให้เราแคชหน้าเว็บได้พร้อมกับเจาะช่องสำหรับส่วนที่ต้องอัปเดตแบบเรียลไทม์ ในร้านค้า WooCommerce หน้าแคตตาล็อก หน้าสินค้า และหน้าหมวดหมู่จะถูกส่งมอบเป็นแคชแบบเต็มหน้าเพื่อให้ได้ TTFB ที่เร็วที่สุดเท่าที่จะเป็นไปได้ ในขณะที่ ESI จะแสดงผลส่วนย่อยของตะกร้า ยอดรวมของมินิตะกร้า และสถานะบัญชีตามการร้องขอแต่ละครั้ง หน้าตะกร้าสินค้า ชำระเงิน บัญชีของฉัน รวมถึงหน้านอนซ์หรือเซสชันใดๆ จะได้รับการยกเว้นไว้ตามค่าเริ่มต้น ผู้ซื้อจะเห็นตะกร้าสินค้าของตนเองและหน้าชำระเงินที่ใช้งานได้เสมอ โดยที่ทุกคนยังคงได้รับหน้าร้านจากแคชเช่นเดิม
ความสดใหม่ของข้อมูลได้รับการจัดการด้วยการล้างแคชอัตโนมัติแบบอัจฉริยะ ฮุกการล้างแคชจะทำงานโดยอัตโนมัติเมื่อเนื้อหา สินค้า ราคา หรือคำสั่งซื้อมีการเปลี่ยนแปลง หน้าเว็บที่เกี่ยวข้องในแคชจึงได้รับการรีเฟรชทันทีโดยไม่ต้องรอตัวจับเวลา และคุณยังสามารถสั่งล้างแคชได้ตามต้องการจากแดชบอร์ดหรือจากภายใน WordPress การล้างแคชตามแท็กหมายความว่าการแก้ไขโพสต์เดียวจะล้างเฉพาะโพสต์นั้นและคลังข้อมูลของโพสต์ดังกล่าว — ไม่ใช่แคชทั้งหมด — ดังนั้นการแก้ไขเพียงจุดเดียวจึงไม่ทำให้ทั้งเว็บไซต์ต้องเริ่มทำงานใหม่ทั้งหมด
แคชอ็อบเจกต์ Redis สำหรับแต่ละไซต์: สำหรับสิ่งที่ไม่สามารถเป็นทั้งหน้าได้
ไม่ใช่ทุกคำขอที่จะสามารถเป็นหน้าแบบคงที่ทั้งหน้าได้ เซสชันที่เข้าสู่ระบบแล้ว, ส่วนผู้ดูแลระบบ WordPress, ตะกร้าสินค้า WooCommerce, การค้นหา และส่วนย่อยแบบไดนามิกที่ ESI ปล่อยให้ทำงานสด ล้วนต้องรัน PHP สำหรับสิ่งเหล่านี้ เป้าหมายจะเปลี่ยนจาก 'ข้ามแอปพลิเคชัน' ไปเป็น 'ข้ามฐานข้อมูล'
แต่ละไซต์จะได้รับแคชออบเจกต์ Redis โดยเฉพาะของตนเอง WordPress จะแคชผลลัพธ์ของการอ่านฐานข้อมูลซ้ำ ๆ — การตั้งค่า, transients, การค้นหาโพสต์และหมวดหมู่, ข้อมูลสินค้าและเซสชันของ WooCommerce — ไว้ในหน่วยความจำ เพื่อไม่ให้ต้องส่งแบบสอบถามเดียวกันไปยัง MySQL ในทุกการเข้าชม การทำงานนี้จะเห็นผลชัดเจนที่สุดในจุดที่แคชแบบเต็มหน้าไม่สามารถช่วยได้: แดชบอร์ดที่เร็วขึ้น รถเข็นที่เร็วขึ้น และภาระของฐานข้อมูลที่ลดลงอย่างมากเมื่อมีผู้เข้าชมจำนวนมาก
แคชออบเจกต์จะแยกตามแต่ละไซต์และไม่ได้ใช้งานร่วมกัน ซึ่งมีความสำคัญต่อทั้งประสิทธิภาพและการแยกส่วน เมื่อรวมกับการจำกัดปริมาณการใช้งานฐานข้อมูลต่อไซต์แล้ว คำค้นหาที่หนักหรือเขียนขึ้นมาไม่ดีของไซต์หนึ่งจะไม่สามารถแย่งทรัพยากรฐานข้อมูลของไซต์เพื่อนบ้านได้ คุณสามารถอ่านเพิ่มเติมเกี่ยวกับวิธีการทำงานร่วมกันของการตั้งค่าแบบหลายชั้นทั้งหมดได้ที่หน้าฟีเจอร์การแคชของเรา และเกี่ยวกับขอบเขตระหว่างผู้เช่าภายใต้การแยกส่วน
เอดจ์และระบบขนส่งที่อยู่เบื้องล่าง
แคชที่อยู่บนเซิร์ฟเวอร์ต้นทางยังคงต้องเดินทางข้ามเครือข่าย เอดจ์ของ CDN ตั้งอยู่ด้านหน้าเซิร์ฟเวอร์ ดังนั้นเนื้อหาแบบคงที่และหน้าที่แคชได้จึงถูกส่งมอบจากจุดกระจายสัญญาณที่อยู่ใกล้กับผู้เยี่ยมชม และเซิร์ฟเวอร์ต้นทางจะยังคงทำงานเบาแม้ว่าจะอยู่ภายใต้ภาระงานหนัก สำหรับกลุ่มบริการโฮสติ้งแบบไร้ร่องรอยการเชื่อมโยง (footprint-free) ของเรา เอดจ์เดียวกันนี้คือพูล multi-CDN ที่กระจายอยู่ตามผู้ให้บริการหลายราย ซึ่งตอบโจทย์ทั้งเป้าหมายด้านร่องรอย SEO และประสิทธิภาพ ในขณะที่บน WordPress ทั่วไป เลเยอร์นี้จะเป็นเพียงเลเยอร์ที่รวดเร็วและทำงานได้อย่างเหมาะสมเพื่อช่วยให้เซิร์ฟเวอร์ต้นทางไม่ต้องทำงานหนัก
ในเบื้องหลัง พื้นฐานต่าง ๆ ไม่มีการลดทอนลง เว็บไซต์ทำงานบนพื้นที่จัดเก็บข้อมูล NVMe พร้อม HTTP/3 ดังนั้นไบต์ที่แคชส่งไปจึงมาถึงผ่านการรับส่งข้อมูลแบบมัลติเพล็กซ์ที่ทันสมัย โดยมีพื้นที่จัดเก็บข้อมูลที่รวดเร็วรองรับทุกครั้งที่เกิดแคชมิส ไม่มีเลเยอร์ใดในนี้ที่เป็นส่วนเสริมเพิ่มเติม: LiteSpeed, LSCache, Redis สำหรับแต่ละไซต์, NVMe และ HTTP/3 คือมาตรฐานพื้นฐานในทุกแผน ไม่ใช่ระดับการอัปเซลล์
สิ่งที่มีผลต่อ Core Web Vitals อย่างแท้จริง
ความแม่นยำในเรื่องนี้ถือเป็นสิ่งสำคัญ เนื่องจากโฮสติ้งมักถูกโฆษณาเกินจริงเกี่ยวกับ Core Web Vitals ทั้งนี้ TTFB คือส่วนของสมการที่เซิร์ฟเวอร์เป็นผู้ควบคุม และสแตกแคชด้านบนคือสิ่งที่จะช่วยลดค่านั้นลง — หน้าเว็บแบบแคชเต็มหน้าที่ให้บริการผ่าน HTTP/3 จากเอดจ์จะให้ค่า TTFB ที่ต่ำที่สุดเท่าที่จะเป็นไปได้ และเนื่องจาก TTFB เป็นจุดเริ่มต้นสำคัญของ Largest Contentful Paint ออริจินที่รวดเร็วจึงช่วยให้ทุกเมตริกในลำดับถัดไปมีความได้เปรียบตั้งแต่เริ่มต้น ซึ่งไม่สามารถหาได้จากทางอื่น
แต่ LCP, CLS และ INP ส่วนใหญ่จะถูกกำหนดขึ้นภายในเบราว์เซอร์ โดยตัวหน้าเว็บเอง: ภาพฮีโร่ที่ไม่ได้ปรับให้เหมาะสม, CSS และ JavaScript ที่บล็อกการเรนเดอร์, เลย์เอาต์ที่ขยับไปมาขณะโหลดฟอนต์และโฆษณา รวมถึงภาระการประมวลผลบนเธรดหลักที่หนักหน่วงจากปลั๊กอินต่างๆ การแคชบนเซิร์ฟเวอร์ไม่ว่าจะมากเพียงใดก็ไม่สามารถแก้ไขภาพฮีโร่ขนาด 2 MB หรือธีมที่ส่งไฟล์ JavaScript ขนาดหลายเมกะไบต์ได้ โฮสติ้งที่จริงใจจะทำให้ภาระในส่วนของเซิร์ฟเวอร์มีผลกระทบน้อยที่สุดและคงที่อย่างมีประสิทธิภาพ จากนั้นจึงเป็นหน้าที่ของเว็บไซต์ที่จะต้องดูแลส่วนหน้าเว็บให้ทำงานได้อย่างราบรื่นและเบาที่สุด
การแบ่งหน้าที่รับผิดชอบดังกล่าวถือเป็นกรอบความคิดที่มีประโยชน์ เราขอรับประกันว่าคำขอจะส่งถึงเบราว์เซอร์อย่างรวดเร็วและคงความเร็วไว้ได้แม้มีผู้เข้าชมจำนวนมาก ส่วนคุณทำหน้าที่รักษาขนาดข้อมูลให้กะทัดรัดและเสถียร จุดที่ทั้งสองส่วนผสานกัน ไม่ว่าจะเป็นการเตรียมความพร้อมของแคช การนำส่งข้อมูลที่ Edge และการดูแลฐานข้อมูลให้ตอบสนองฉับไวเพื่อไม่ให้หน้าเว็บแบบไดนามิกหยุดชะงัก ล้วนเป็นจุดที่สแตกเทคโนโลยีของเราได้รับการปรับแต่งมาอย่างแม่นยำ และเป็นสิ่งที่ทำให้ WordPress ที่มีการจัดการบนแพลตฟอร์มนี้เร็วกว่าเว็บไซต์เดียวกันที่อยู่บนผู้ให้บริการโฮสติ้งทั่วไป
คำถามที่พบบ่อย
ฉันยังต้องใช้ปลั๊กอินแคชอย่าง WP Rocket อยู่หรือไม่?
ไม่จำเป็น การแคชทั้งหน้าได้รับการจัดการที่เว็บเซิร์ฟเวอร์โดย LSCache ของ LiteSpeed และปลั๊กอินแคชของเราเอง ซึ่งติดตั้งไว้ล่วงหน้าและอัปเดตโดยอัตโนมัติ จะเชื่อมต่อ WordPress เข้ากับระบบดังกล่าวอย่างถูกต้อง โดยมีแคชอ็อบเจกต์ Redis สำหรับแต่ละไซต์ทำงานอยู่เบื้องหลัง การติดตั้งปลั๊กอินแคชทั้งหน้าตัวที่สองซ้อนทับลงไปมักจะขัดแย้งกับแคชระดับเซิร์ฟเวอร์มากกว่าที่จะช่วยเพิ่มประสิทธิภาพ จึงไม่จำเป็นและไม่แนะนำให้ใช้งาน
การแคชจะทำให้ตะกร้าสินค้า WooCommerce หรือหน้าที่เข้าสู่ระบบแล้วทำงานผิดพลาดหรือไม่?
ไม่ หน้า cart, checkout, my-account ตลอดจนหน้า nonce หรือ session ใดๆ จะได้รับการยกเว้นจากแคชตามค่าเริ่มต้น และ ESI จะคอยอัปเดตข้อมูลส่วนย่อยของตะกร้าสินค้าและยอดรวมให้เป็นปัจจุบันอยู่เสมอบนหน้าที่ถูกแคชไว้ ผู้ซื้อจะเห็นตะกร้าสินค้าของตนเองและหน้าชำระเงินที่ใช้งานได้เสมอ ในขณะที่หน้าร้านยังคงโหลดจากแคช
แคชจะยังคงใหม่อยู่เสมอได้อย่างไรเมื่อฉันเผยแพร่หรือแก้ไข
การล้างอัตโนมัติแบบอัจฉริยะจะทำงานบนฮุกของ WordPress ที่เกี่ยวข้อง ดังนั้นการเผยแพร่ การแก้ไขเนื้อหา หรือการเปลี่ยนสินค้า ราคา หรือคำสั่งซื้อ จะล้างเฉพาะหน้าที่ได้รับผลกระทบและหน้าคลังข้อมูลเท่านั้น ไม่ใช่แคชทั้งหมด และโปรแกรมรวบรวมข้อมูลจะทำการเตรียมแคชใหม่อีกครั้ง คุณยังสามารถล้างข้อมูลตามต้องการได้จากแดชบอร์ดหรือจากภายใน WordPress
โฮสติ้งเพียงอย่างเดียวสามารถให้ Core Web Vitals ที่สมบูรณ์แบบแก่ฉันได้หรือไม่?
สิ่งนี้มอบ TTFB ที่ดีที่สุดเท่าที่จะเป็นไปได้ให้กับคุณ ซึ่งเป็นส่วนของเซิร์ฟเวอร์และเป็นจุดเริ่มต้นที่ดีสำหรับ Largest Contentful Paint แต่ LCP, CLS และ INP ส่วนใหญ่จะถูกกำหนดโดยตัวหน้าเว็บเอง — ขนาดของรูปภาพ ทรัพยากรที่บล็อกการแสดงผล ความเสถียรของเลย์เอาต์ และ JavaScript ในเธรดหลัก สแตกของเราช่วยให้การทำงานของเซิร์ฟเวอร์รวดเร็วและสม่ำเสมอ การรักษาเพย์โหลดส่วนหน้าให้มีขนาดเบาคือสิ่งที่จะช่วยเติมเต็มส่วนที่เหลือ
ที่เกี่ยวข้อง
ทดลองใช้ฟรี 14 วัน
เปิดใช้งานไซต์แรกของคุณได้ฟรีเป็นเวลา 14 วัน — ไม่ต้องใช้บัตร กำลังย้ายเครือข่ายเดิมอยู่หรือไม่ การย้ายข้อมูลไม่มีค่าใช้จ่ายและไม่จำกัดจำนวน
เริ่มต้นฟรี