WordPress Cache: สิ่งที่สามารถแคชได้และวิธีที่เราทำ
เผยแพร่แล้ว: 2017-04-28คุณต้องการให้เว็บไซต์ของคุณไปได้เร็ว เทคโนโลยีหนึ่งที่ส่งผลต่อความเร็วของไซต์คือการแคช การแคชคือชุดของเทคนิคซอฟต์แวร์และฮาร์ดแวร์ที่จัดเก็บข้อมูลเพื่อให้พร้อมใช้งานสำหรับคำขอในอนาคตได้อย่างรวดเร็ว ในบทความนี้ เราจะอธิบายว่าแคชของ WordPress คืออะไร สามารถนำไปใช้กับระดับต่างๆ ได้อย่างไร และเราจะดูแลทุกอย่างให้คุณอย่างไร เพื่อให้คุณไม่ต้องกังวลกับมัน
แคชคืออะไร?
ในการคำนวณมีสิ่งที่เรียกว่า "แคช" ซึ่งใช้ส่วนประกอบซอฟต์แวร์หรือฮาร์ดแวร์เพื่อเก็บค่าชั่วคราวและเรียกข้อมูลเหล่านี้เร็วขึ้นในอนาคต ค่าต่างๆ เช่น การสืบค้น MySQL หรือ bytecode ของ PHP ที่คอมไพล์แล้ว รวมถึงข้อมูลที่ซ้ำกัน เช่น HTML และรูปภาพ แทบทุกอย่างจริงๆ
การทำสำเนาข้อมูลและวางไว้ในองค์ประกอบ "แคช" ทำให้เราได้เปรียบด้านประสิทธิภาพอย่างมาก ผู้เยี่ยมชมของคุณสามารถดึงเนื้อหาที่แคชได้เร็วกว่าที่ไม่ได้แคช ผู้เยี่ยมชมของคุณสามารถดึงเนื้อหาที่แคชได้เร็วกว่าที่ไม่ได้แคช ส่วนประกอบแคชมักจะเป็นหน่วยความจำ แต่สามารถเป็นอะไรก็ได้ที่เร็วกว่าที่เก็บข้อมูลทั่วไป แต่คุณจะได้รับการปรับปรุงประสิทธิภาพมากแค่ไหน?
ทั้งหมดขึ้นอยู่กับจำนวนข้อมูลที่คุณสามารถแคชได้ แต่โดยทั่วไปแล้ว การปรับปรุงประสิทธิภาพที่ระดับหนึ่งวินาทีนั้นไม่ใช่เรื่องแปลก
แคชอะไรได้บ้าง
มีหลายระดับขึ้นอยู่กับว่าคุณต้องการเพิ่มประสิทธิภาพเว็บไซต์ของคุณโดยใช้แคชมากแค่ไหน
เอาต์พุต HTML
วิธีแรกคือการแคชหน้า HTML เอง มีปลั๊กอินแคชของ WordPress มากมาย เช่น WP Rocket และ W3 Total Cache ที่ทำแบบนั้นและอีกมากมาย ปลั๊กอินเหล่านี้แคชผลลัพธ์ของเอาต์พุต HTML ที่ช่วยประหยัดเวลาสำหรับคำขอในอนาคต นอกจากนี้ ทุกปลั๊กอินยังให้กลไกการทำให้แคชใช้งานไม่ได้ คุณจึงสามารถให้บริการเนื้อหาที่ไม่ได้แคชได้เมื่อต้องการ
อีกเทคนิคหนึ่งคือ "ย่อ" HTML นั่นคือทำให้เล็กลง สิ่งนี้ให้สองกิโลไบต์ต่อหน้าคุณ แต่จะเพิ่มขึ้นเมื่อเวลาผ่านไป
คุณจะต้องเข้าถึงแดชบอร์ดหรือวิธีการติดตั้งปลั๊กอินใน WordPress เพื่อดำเนินการดังกล่าว
อ้างอิง:
- WP Rocket
- ปลั๊กอิน W3 Total Cache WordPress
PHP OpCache
OpCaching เป็นเทคนิคที่ PHP นำไฟล์ PHP ต้นทางมาและคอมไพล์ให้อยู่ในรูปแบบตัวกลางที่เรียกว่า bytecode Bytecode เหมือนกับรหัสเครื่องของคอมพิวเตอร์ แต่หมายถึงรหัสเครื่องที่ดำเนินการโดย "เครื่องเสมือน" (ในกรณีนี้คือ PHP) แทนที่จะเป็นของจริง เนื่องจากเป็นรหัสเครื่องและอยู่ในหน่วยความจำ จึงสามารถดำเนินการได้เร็วกว่าการให้ล่าม PHP แยกวิเคราะห์คำสั่งในแต่ละครั้งและดำเนินการ
การแคชในระดับนั้น จะจัดเก็บข้อมูลไบต์โค้ดเหล่านี้ไว้ในหน่วยความจำ เพื่อให้แอปพลิเคชันของคุณสามารถดำเนินการได้รวดเร็วยิ่งขึ้น
คุณต้องมีสิทธิ์เข้าถึงไฟล์การกำหนดค่า PHP เพื่อเปิดใช้งาน PHP OpCache
ข้อมูลอ้างอิง: OpCache
PHP Object Cache
นี่คือการแคชที่ทำในระดับ OOP ของภาษา PHP เป็นภาษาเชิงวัตถุ ซึ่งหมายความว่าใช้แนวคิดของ "วัตถุ" เพื่ออธิบายตรรกะ ข้อมูล และแนวคิด ขณะที่แอปพลิเคชันของคุณทำงาน อ็อบเจ็กต์เหล่านี้จะถูกสร้างขึ้นและถูกทำลายอย่างต่อเนื่อง (แบบไดนามิกโดยระบบย่อยที่เรียกว่าตัวรวบรวมขยะ) กระบวนการสร้างและการเริ่มต้นของวัตถุเหล่านี้ต้องใช้เวลา ดังนั้นการแคชอ็อบเจ็กต์จะแก้ปัญหานี้โดยการแคชออบเจ็กต์เอง
มีการใช้งานผ่านปลั๊กอินเช่น Memcached และปลั๊กอินต่างๆ สำหรับ Redis Redis เป็นที่เก็บโครงสร้างข้อมูลในหน่วยความจำที่มีประสิทธิภาพ ซึ่งสามารถใช้เป็นฐานข้อมูลได้ Memcached เป็นระบบแคชวัตถุแบบกระจาย ทั้งคู่เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการแคชในระดับนั้น
คุณจะต้องมีสิทธิ์เข้าถึงการกำหนดค่าของ PHP เพื่อเปิดใช้งานการแคช PHP Object คุณจะต้องเข้าถึงอินสแตนซ์ Redis หรือ Memcached
อ้างอิง
- ปลั๊กอิน Redis WordPress
- ปลั๊กอิน WordPress Memcached
- เอกสาร Redis
- Memcached Wiki
MySQL Query Caching
นี่เป็นแนวคิดเดียวกัน แต่นำไปใช้ในระดับฐานข้อมูล ฐานข้อมูลส่งกลับชุดข้อมูลตามแบบสอบถามที่ป้อน หากคุณสามารถแคชผลลัพธ์ของการสืบค้นข้อมูลเหล่านี้ ครั้งต่อไปที่มีคนใช้การสืบค้นนั้น พวกเขาจะได้รับข้อมูลเร็วขึ้นมากเพราะจะเก็บแคชไว้ในหน่วยความจำ
เพื่อที่คุณจะต้องมีสิทธิ์เข้าถึงเซิร์ฟเวอร์ฐานข้อมูล
ข้อมูลอ้างอิง: MySQL 8.0 Query Cache
เพื่อให้สิ่งเหล่านี้ได้รับการติดตั้งและบำรุงรักษาอย่างเหมาะสม จำเป็นต้องมีหลายสิ่งหลายอย่าง ความรู้ด้านเทคนิค เวลา และแม้แต่เงิน หากคุณขาดประสบการณ์ แต่เราสามารถช่วยได้ทั้งหมด
วิธีที่เราแก้ปัญหาทุกอย่างด้วย Multilayer Caching ของ Pressidium
คำตอบนั้นง่าย เราได้นำการแคชไปใช้ทุกที่: บน WordPress ทุกชั้น
สำหรับเอาต์พุต HTML เรา ใช้การแคชสองชั้น hot และ warm เลเยอร์เหล่านี้เป็นส่วนหนึ่งของกลไกแคชที่ปรับเปลี่ยนได้ของเรา เอ็นจิ้นของเราสามารถกำหนดโปรไฟล์ไซต์ของคุณและบังคับใช้กฎการแคชที่มีประสิทธิภาพสูงสุด แต่เราจะพูดถึงรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ในบทความอื่น ดังนั้น Hot cache จึงเป็นข้อมูลที่อยู่ในหน่วยความจำและสามารถเข้าถึงได้อย่างรวดเร็ว Warm Cache คือข้อมูลที่อยู่ในดิสก์ SSD ที่ล้ำสมัย สิ่งนี้ จะเพิ่มอัตราส่วนการชนของแคชโดยรวม และส่งผลให้ไซต์ของคุณทำงานได้ดีกว่าที่เก็บข้อมูลทั่วไปอย่างมาก
สำหรับไคลเอ็นต์ระดับองค์กรของเรา เราได้สร้างระบบแคชวัตถุโดยใช้ Redis ที่จัดเก็บโครงสร้างข้อมูลในหน่วยความจำที่ยอดเยี่ยม ในที่สุดการแคช MySQL Query สิ่งนี้เปิดใช้งานโดยค่าเริ่มต้นและติดตามโดย DevOps ของเราอย่างต่อเนื่อง MySQL Query Caching สามารถให้ ข้อมูลที่มีค่าเกี่ยวกับประสิทธิภาพของเว็บไซต์ของคุณ
เป็นสิ่งสำคัญที่จะต้องทราบว่าสิ่งเหล่านี้ถูกนำไปใช้ในแบ็กเอนด์ของแพลตฟอร์มของเรา ไม่ใช่ผ่านปลั๊กอินแคชของ WordPress บางตัว ซึ่งหมายความว่า ก) เราใช้เซิร์ฟเวอร์ภายนอกสำหรับการจัดเก็บ ดังนั้นเราจึงไม่เป็นภาระกับทรัพยากรของเว็บเซิร์ฟเวอร์ของคุณและ ข) เราจัดเก็บข้อมูลในหน่วยความจำที่เข้าถึงได้เร็วกว่าดิสก์
ไม่ว่าความต้องการแคชและงบประมาณของคุณจะเป็นอย่างไร เราสามารถส่งมอบได้