ปลั๊กอินแคช Joomla แคชใน Joomla เราลบโหลดออกจากเซิร์ฟเวอร์ ระดับแคชมาตรฐาน

ในบทความนี้ ฉันจะบอกคุณเกี่ยวกับหนึ่งในวิธีที่มีประสิทธิภาพที่สุดในการเพิ่มความเร็วในการโหลดไซต์บน Joomla: การเปิดใช้งานการแคชฝั่งเซิร์ฟเวอร์ การเปิดใช้งานแคชจะช่วยลดภาระบนเว็บเซิร์ฟเวอร์ได้อย่างมาก ฉันมั่นใจในสิ่งนี้จากประสบการณ์ของตัวเองซึ่งฉันจะเล่าให้คุณฟังด้วย

การเปิดใช้งานแคชบนเว็บไซต์เป็นเครื่องมือที่ทรงพลังมากในการลดภาระบนเว็บเซิร์ฟเวอร์ลงอย่างมาก

แต่สิ่งแรกก่อน

ฉันเพิ่งพบสิ่งนี้ด้วยตัวเองในโครงการหนึ่งของฉัน ก่อนที่ฉันจะบอกคุณถึงวิธีเปิดใช้งานการแคชใน Joomla ฉันอยากจะบอกคุณสั้น ๆ จากประสบการณ์ของฉันเกี่ยวกับผลกระทบมหาศาลที่การเปิดใช้งานการแคชบนไซต์มอบให้

ดังนั้นฉันจึงมีเว็บไซต์บน Joomla ด้วย ซึ่งมีปริมาณการเข้าชมเพิ่มขึ้นหนึ่งในสามตั้งแต่เดือนสิงหาคมถึงพฤศจิกายน และตอนนี้มีผู้เข้าชมเฉลี่ย 15,000 คนต่อวัน ไซต์นี้ทำงานบนเซิร์ฟเวอร์เสมือน (VPS) ที่โฮสต์โดย reg.ru ในแผนภาษี VPS-3 VPS นี้มาพร้อมกับโปรเซสเซอร์ 2x2000 MHz และ RAM ขนาด 1024GB โฮสติ้งนั้นดีและเสถียรมาก ฉันกำลังคิดที่จะเขียนบทความแยกต่างหากเกี่ยวกับเรื่องนี้ ดังนั้นในเดือนที่ผ่านมา เนื่องจากปริมาณการใช้งานที่เพิ่มขึ้นอย่างรวดเร็ว ฉันจึงเริ่มได้รับการแจ้งเตือนทางอีเมลเป็นระยะ ๆ (หลายครั้งต่อวัน) เกี่ยวกับการขาด RAM บน VPS ของฉัน แน่นอนว่าการแจ้งเตือนเหล่านี้รบกวนจิตใจฉัน แต่เนื่องจากเว็บไซต์ยังคงเปิดตามปกติ ฉันจึงเลื่อนการแก้ไขปัญหานี้ออกไป เมื่อสัปดาห์ที่แล้ว ไซต์เริ่มช้าลงอย่างมากระหว่างการแจ้งเตือนเกี่ยวกับหน่วยความจำเหลือน้อย และแล้ววันหนึ่ง เว็บไซต์ก็หยุดเปิดอย่างสมบูรณ์เนื่องจากเซิร์ฟเวอร์ฐานข้อมูล MySQL ขัดข้องเนื่องจากไม่มี RAM แน่นอน ฉันเริ่มต้นทันทีจากแผงผู้จัดการ ISP เป็นผลให้ผ่านไปประมาณสามสิบนาทีนับจากวินาทีที่เซิร์ฟเวอร์ SQL ขัดข้อง จนกระทั่งฉันสังเกตเห็นและเซิร์ฟเวอร์ MySQL เริ่มทำงาน วันนั้นฉันไม่สามารถทำงานที่ไซต์ได้ และในตอนเย็นฉันกลับบ้านอย่างเหนื่อยล้าและตัดสินใจเลื่อนทุกอย่างออกไปจนกว่าจะถึงวันรุ่งขึ้น ในช่วงเย็นแล้ว เนื่องจากกลัวว่าเซิร์ฟเวอร์ MySQL อาจจะล่มอีกครั้งในตอนกลางคืน และไซต์อาจไม่ทำงานจนกระทั่งเช้าในขณะที่ฉันกำลังนอนหลับ ฉันจึงเชื่อมต่อการตรวจสอบไซต์แบบชำระเงิน การตรวจสอบนี้จะตรวจสอบประสิทธิภาพของไซต์ และทันทีที่ขัดข้อง ระบบจะส่ง SMS ไปยังโทรศัพท์เกี่ยวกับข้อขัดข้องของไซต์ บริการนี้บนเว็บไซต์ reg-ru มีราคาเพียง 100 รูเบิลต่อเดือน ก่อนนอนฉันวางโทรศัพท์ไว้ใกล้ ๆ เพื่อฟัง SMS หลังเที่ยงคืน ในที่สุด SMS ก็มาถึง โดยแจ้งว่าไซต์ใช้งานไม่ได้อีกต่อไป ฉันรีบลุกขึ้นอย่างรวดเร็ว เปิดแล็ปท็อป และเปิดตัวกระบวนการ sqld ที่ล่ม ซึ่งรับผิดชอบการทำงานของเซิร์ฟเวอร์ฐานข้อมูล mySQL ครั้งนี้ไซต์ล่มเพียงประมาณ 5 นาทีเท่านั้น ฉันใช้เวลานานมากในการลุกขึ้น เปิดแล็ปท็อป ไปที่แผงควบคุมโฮสติ้งของ ISP และเริ่มกระบวนการที่ขัดข้อง แน่นอนว่าการนอนหลับของฉันหายไปหมด และฉันก็เริ่มคิดถึงวิธีแก้ปัญหาความจำเสื่อม ฉันมีสองวิธี:

  1. เปลี่ยนไปใช้ภาษี VPS-4 ที่แพงกว่าซึ่งมีหน่วยความจำมากกว่าสองเท่า (2048 MB)
  2. พยายามเพิ่มประสิทธิภาพไซต์

นี่คือรายการภาษีทั้งหมดสำหรับเซิร์ฟเวอร์ VPS (คุณสามารถคลิกเพื่อดูข้อมูลโดยละเอียดเพิ่มเติม):

อัตราภาษี VPS-4 มีราคาสูงกว่าสองเท่า เมื่อคิดว่าฉันสามารถเปลี่ยนไปใช้อัตราค่าบริการที่แพงกว่าเมื่อใดก็ได้ ฉันจึงตัดสินใจลองเพิ่มประสิทธิภาพไซต์ก่อน ฉันเป็นเจ้าของเซิร์ฟเวอร์ VPS และการตั้งค่าใดๆ ก็สามารถใช้ได้สำหรับฉัน

โชคดีที่ฉันไม่ต้องเจาะลึกการตั้งค่าเซิร์ฟเวอร์ เพราะ... สิ่งแรกที่ฉันตัดสินใจใส่ใจเมื่อทำการเพิ่มประสิทธิภาพคือการดูว่าสิ่งต่าง ๆ เกิดขึ้นกับแคชบนเว็บไซต์ของฉันอย่างไร ปรากฎว่าไม่ได้เปิดใช้งานการแคชบนเว็บไซต์ของฉัน หลังจากเปิดใช้งานการแคชใน Joomla การใช้หน่วยความจำบนเซิร์ฟเวอร์ VPS โดยเฉลี่ยจะอยู่ที่ประมาณ 650-750 MB ฉันหยุดรับการแจ้งเตือนเกี่ยวกับหน่วยความจำเหลือน้อย และหน้าเว็บไซต์ก็เริ่มเปิดได้เร็วกว่าที่เคย นี่คือเรื่องราว

เพื่อความชัดเจน ฉันจะจัดเตรียมภาพหน้าจอจาก Yandex Metrics ซึ่งแสดงว่าเวลาตอบสนองของเซิร์ฟเวอร์ลดลงเท่าใดหลังจากเปิดใช้งานแคช


เราเปิดใช้งานการแคชใน Joomla โดยใช้ปลั๊กอินของระบบ

มีสองวิธีในการเปิดใช้งานการแคชใน Joomla

วิธีแรกคือการเปิดใช้งานการแคชหน้าไซต์โดยใช้ปลั๊กอินระบบในตัว

ในแผงผู้ดูแลระบบไปที่ " ส่วนขยาย" => "ตัวจัดการปลั๊กอิน" และค้นหาปลั๊กอินในรายการที่มีชื่อ " ระบบ - แคช" รายการปลั๊กอินบนไซต์อาจมีขนาดใหญ่ ดังนั้นเพื่อให้การค้นหาง่ายขึ้น มากรองรายการกัน โดยทำสิ่งนี้ทางด้านซ้ายในส่วน " กรอง"ในสนาม" การเลือกประเภท"เลือกจากรายการแบบเลื่อนลง" ระบบ" ตอนนี้รายการปลั๊กอินของเราแสดงเฉพาะปลั๊กอินระบบ ซึ่งง่ายต่อการค้นหาปลั๊กอินของเรา " ระบบ - แคช".



มาเปิดใช้งานปลั๊กอินนี้กันเถอะ

ปลั๊กอินนี้ทำงานดังนี้ เมื่อเบราว์เซอร์ร้องขอหน้าใด ๆ ของเว็บไซต์ Joomla จะค้นหาหน้านี้ก่อนจากไฟล์ที่บันทึกไว้ก่อนหน้านี้ในแคช หากเพจที่ระบุไม่อยู่ในแคชหรือมีอยู่ แต่เวลาแคชหมดลงแล้ว Joomla จะติดต่อฐานข้อมูลเพื่อขอเนื้อหาของเพจนี้ โดยจะแทนที่ข้อมูลที่ได้รับจากฐานข้อมูลลงในเทมเพลตที่ใช้โดยไซต์ สร้างหน้าสุดท้าย บันทึกเป็นไฟล์ในโฟลเดอร์แคช จากนั้นจัดเตรียมเวอร์ชัน HTML ของหน้าที่ร้องขอให้กับเบราว์เซอร์ เหล่านั้น. เมื่อคุณร้องขอเพจเป็นครั้งแรก เซิร์ฟเวอร์จะดำเนินการเดียวกันกับเมื่อแคชถูกปิด และยิ่งไปกว่านั้น เซิร์ฟเวอร์จะต้องบันทึกเพจในแคชด้วย แต่เมื่อเบราว์เซอร์เดียวกันหรือเบราว์เซอร์ของคอมพิวเตอร์เครื่องอื่นร้องขอหน้าเดียวกัน Joomla จะค้นหาหน้านี้ในแคช ค้นหา กำหนดว่าเวลาแคชยังไม่หมดอายุ และสร้างเวอร์ชัน HTML ของหน้าที่แคชนี้ทันทีไปยัง เบราว์เซอร์โดยไม่ต้องติดต่อกับฐานข้อมูล ในขณะเดียวกัน เวลาในการโหลดหน้าเว็บของเบราว์เซอร์ก็เร็วขึ้นอย่างมาก เนื่องจาก... เซิร์ฟเวอร์ไม่จำเป็นต้องใช้เวลามากมายในการเข้าถึงฐานข้อมูล รอข้อมูลที่ได้รับจากฐานข้อมูล และประกอบเพจอีกต่อไป

ปลั๊กอินจะจัดเก็บเพจที่แคชไว้ทั้งหมดในโฟลเดอร์ site_root\cache\page\

ปลั๊กอินนี้จะบันทึกเพจที่ร้องขอทั้งหมดลงในไฟล์แคช รวมถึงส่วนประกอบ ปลั๊กอิน และโมดูลที่แสดงบนเพจ เช่นเดียวกับเทมเพลต

ฉันสร้างไฟล์แยกต่างหากในแคชสำหรับแต่ละหน้าของไซต์ โดยมีขนาดประมาณ 50-90 กิโลไบต์ ดังนั้นแม้ว่าไซต์จะมีหนึ่งพันหน้า แต่โฟลเดอร์แคชจะมีขนาดน้อยกว่า 100 เมกะไบต์

ฉันต้องการทราบว่าปลั๊กอินนี้ใช้งานได้กับแขกของไซต์เท่านั้น สำหรับผู้ใช้ที่เข้าสู่ระบบ ปลั๊กอินนี้จะไม่แคชอะไรเลย นั่นคือ หากคุณอัปเดตหรือเปลี่ยนแปลงสิ่งใดๆ บนไซต์ เมื่อเข้าสู่ระบบแล้ว คุณจะเห็นหน้าไซต์เวอร์ชันล่าสุดที่คุณเปิดอยู่เสมอ

ปลั๊กอินนี้มีการตั้งค่าเพิ่มเติม "ใช้แคชของเบราว์เซอร์" แต่ฉันไม่แนะนำให้คุณเปิดใช้งาน และตอนนี้ฉันจะอธิบายว่าทำไม มันทำงานดังนี้ หากเปิดใช้งานการตั้งค่านี้ เมื่อคุณเปิดหน้าใด ๆ ของไซต์เบราว์เซอร์จะบันทึกเพิ่มเติมในแคชบนคอมพิวเตอร์ของคุณ ในอนาคต เมื่อเบราว์เซอร์นี้ติดต่อกับเซิร์ฟเวอร์ซ้ำๆ เพื่อขอหน้าเดียวกัน การตอบสนอง HTTP จากเซิร์ฟเวอร์จะมีส่วนหัว “304 Not Modiifed” เสมอ ซึ่งจะบอกเบราว์เซอร์ว่าหน้าที่ร้องขอไม่มีการเปลี่ยนแปลงบนเซิร์ฟเวอร์ และเบราว์เซอร์สามารถนำข้อมูลจากแคชได้ หากเพจถูกบันทึกในแคช (และเบราว์เซอร์ได้รับการกำหนดค่าตามค่าเริ่มต้นให้บันทึกเพจในแคชหากเซิร์ฟเวอร์อนุญาตให้ทำเช่นนั้น) แต่ความแตกต่างเล็กน้อยที่นี่คือเซิร์ฟเวอร์จะบอกเบราว์เซอร์ว่าหน้านั้นไม่มีการเปลี่ยนแปลงบนเซิร์ฟเวอร์แม้ว่าสำเนาแคชที่อัปเดตของหน้านี้จะปรากฏบนเซิร์ฟเวอร์มานานแล้วก็ตาม เหล่านั้น. ซึ่งหมายความว่าเบราว์เซอร์จะเข้าถึงเวอร์ชันที่บันทึกไว้ในเครื่องเสมอและจะไม่เห็นการเปลี่ยนแปลง เพื่อที่จะยังคงบังคับให้เบราว์เซอร์โหลดเวอร์ชันปัจจุบันของหน้า คุณจะต้องไปที่การตั้งค่าเบราว์เซอร์และล้างแคชของเบราว์เซอร์ในเครื่อง เหล่านั้น. การตั้งค่านี้จำเป็นสำหรับบางเว็บไซต์ที่ไม่เคยอัปเดตเท่านั้น


คุณจะทราบเวลาที่จะเก็บสำเนาแคชของเพจไว้บนเซิร์ฟเวอร์ได้อย่างไร? เวลาแคชได้รับการกำหนดค่าในส่วนที่แตกต่างอย่างสิ้นเชิงของแผงผู้ดูแลระบบ: " การตั้งค่าทั่วไป" (การกำหนดค่าส่วนกลาง) => "ระบบ" (ระบบ) => ฟิลด์ " เวลาแคช" (ระบุเป็นนาที) ในส่วน " การตั้งค่าแคช" (การตั้งค่าแคช- ฟิลด์นี้ควบคุมเวลาแคชสำหรับวิธีการแคชทั้งหมดที่มีอยู่ใน Joomla


วิธีการแคชนี้มีข้อเสียอีกประการหนึ่งเนื่องจากจะแคชโมดูลอยู่เสมอ หากโมดูลที่อัปเดตบ่อยครั้งแสดงบนหน้าเว็บไซต์ของคุณ (เช่น ฟีดความคิดเห็นล่าสุด ฟีดข่าวล่าสุด ฯลฯ) คุณจะต้องมีความปรารถนาที่สมเหตุสมผลอย่างยิ่งที่จะปิดการใช้งานแคชของโมดูลเหล่านี้ แต่แม้ว่าคุณจะปิดการใช้งานการแคชโมดูล (ซึ่งสามารถทำได้ในการตั้งค่าโมดูล) พวกมันก็จะยังถูกแคชอยู่ เหล่านั้น. ด้วยวิธีแคชนี้ การตั้งค่าโมดูลจะไม่ใช้เนื่องจาก อย่างที่ฉันเขียนไว้ข้างต้น แต่ละหน้าจะถูกจัดเก็บไว้ในแคชในรูปแบบไฟล์ทั้งหมด

จะป้องกันการแคชโมดูลได้อย่างไร? ในการดำเนินการนี้ เราจะใช้วิธีที่สองในการเปิดใช้งานการแคช ซึ่งช่วยให้คุณสามารถปิดใช้งานการแคชของแต่ละโมดูลได้

เราเปิดใช้งานการแคชใน Joomla โดยใช้การแคชมาตรฐานและแบบโปรเกรสซีฟ

การตั้งค่าทั่วไป" (การกำหนดค่าส่วนกลาง) => จากนั้นไปที่แท็บ " ระบบ" (ระบบ) => ค้นหาส่วน " การตั้งค่าแคช" (การตั้งค่าแคช) => ตรงข้ามช่อง "แคช" ( แคช) เลือกจากรายการแบบเลื่อนลง " แคชมาตรฐาน" (แคชแบบอนุรักษ์นิยม) หรือ " แคชแบบก้าวหน้า" (แคชแบบก้าวหน้า).

การแคชแบบมาตรฐานและแบบก้าวหน้า (ตรงข้ามกับการแคชปลั๊กอินของระบบ ซึ่งจะบันทึกทั้งหน้าไว้ในไฟล์เดียว) แบ่งหน้าออกเป็นส่วนประกอบและโมดูลที่ประกอบขึ้นเป็นและจัดเก็บส่วนประกอบและโมดูลแต่ละรายการเหล่านี้ไว้ในไฟล์แยกต่างหากในโฟลเดอร์แคช

ส่วนประกอบและโมดูลที่สร้างขึ้นในเครื่องยนต์รองรับมาตรฐานและประเภทของแคชแบบก้าวหน้า ในการแคชส่วนประกอบและโมดูลที่ติดตั้งบนไซต์จากผู้ผลิตรายอื่น ส่วนประกอบและโมดูลเหล่านี้จะต้องสนับสนุนการแคชประเภทนี้

หลังจากเปิดใช้งานแคชมาตรฐานหรือแบบก้าวหน้า โฟลเดอร์จะเริ่มต้นถูกสร้างขึ้นในโฟลเดอร์แคชของไซต์ ด้วยชื่อของโฟลเดอร์ คุณสามารถเข้าใจว่าเทมเพลต ส่วนประกอบ และโมดูลใดถูกแคชไว้บนไซต์ของคุณ

สำหรับข้อมูล คอมโพเนนต์ com_content มีหน้าที่รับผิดชอบเนื้อหาข้อความหลักของหน้า เช่น ส่วนประกอบข้อความแคชของหน้าจะถูกจัดเก็บไว้ในโฟลเดอร์ที่มีชื่อเดียวกัน com_content

การแคชแบบมาตรฐานและแบบก้าวหน้า (รวมถึงปลั๊กอินการแคชของระบบ) จะไม่แคชเพจสำหรับผู้ใช้ที่เข้าสู่ระบบ

ตอนนี้มีคำถามที่สมเหตุสมผล: อะไรคือความแตกต่างระหว่างแคชมาตรฐาน ( แคชแบบอนุรักษ์นิยม) จากการแคชแบบก้าวหน้า ( แคชแบบก้าวหน้า).

ข้อได้เปรียบหลักของการแคชมาตรฐานคือ เมื่อคุณเลือก คุณสามารถแทนที่การแคชของแต่ละโมดูลหรือปิดใช้งานการแคชทั้งหมดได้

หากต้องการทำสิ่งนี้ในแผงผู้ดูแลระบบ ให้ไปที่ " ส่วนขยาย" => "ผู้จัดการโมดูล" => เปิดโมดูลที่เราต้องการ => ถัดไปไปที่แท็บ " ตัวเลือกพิเศษ" ที่นี่เราสามารถเปลี่ยนเวลาแคชของโมดูลได้โดยเปลี่ยนเวลาแคชเป็นวินาทีในฟิลด์ " ระยะเวลาแคช" โดยค่าเริ่มต้นจะมีค่าเป็น 900 วินาที (เช่น 15 นาที) หรือปิดใช้งานการแคชโมดูลโดยสมบูรณ์โดยเลือกในฟิลด์ " เก็บเอาไว้" ความหมาย " อย่าแคช".


เมื่อคุณเปิดใช้งานการแคชมาตรฐานและปลั๊กอินการแคชของระบบในเวลาเดียวกัน การแทนที่การแคชโมดูลจะไม่ทำงาน เนื่องจาก การแคชโดยใช้ปลั๊กอินมีความสำคัญกว่า

แคชแคชแบบก้าวหน้าแยกกันสำหรับผู้เยี่ยมชมแต่ละราย เหล่านั้น. ผู้เยี่ยมชม User-A มาที่ไซต์ => Joomla ตรวจสอบแคชเพื่อดูหน้าแคชส่วนบุคคล (โดยเฉพาะสำหรับผู้เยี่ยมชม User-A) => หากหน้าดังกล่าวไม่อยู่ในแคช (หรือล้าสมัย) จากนั้น Joomla จะสร้างคำขอไปยังฐานข้อมูลเพื่อขอข้อมูลที่จำเป็น แทรกข้อมูลนี้ลงในเทมเพลตที่ใช้ เพิ่มเนื้อหาของโมดูลและส่วนประกอบที่ปรากฏบนเพจ (กล่าวโดยย่อคือ Joomla สร้างเพจสำหรับผู้เยี่ยมชม) บันทึก เพจที่สร้างขึ้นสำหรับ User-A ในแคชและส่งออกเวอร์ชัน HTML ของเพจไปยังเบราว์เซอร์ของผู้เยี่ยมชม User-A

ถัดไป ผู้เยี่ยมชม User-B มาที่หน้าเดียวกัน => Joomla ตรวจสอบแคชเพื่อดูหน้าแคชส่วนบุคคล (โดยเฉพาะสำหรับผู้เยี่ยมชม User-B) => Joomla ตรวจพบเฉพาะหน้าสำหรับผู้ใช้ User-A => ในแคชเท่านั้น Joomla ไม่แสดงในหน้าผู้ใช้เบราว์เซอร์ User-B ที่แคชไว้สำหรับผู้ใช้ User-A และสร้างหน้าใหม่สำหรับผู้ใช้-B เก็บไว้ในแคชแล้วแสดงในเบราว์เซอร์ของผู้เยี่ยมชม User-B

เหล่านั้น. หากมีผู้เยี่ยมชมที่แตกต่างกันหนึ่งร้อยคนเข้าชมเพจ แคชจะมีสำเนาแคชส่วนตัวของหน้าเดียวกันหนึ่งร้อยชุด (หนึ่งชุดสำหรับผู้เยี่ยมชมแต่ละคน)

ดังนั้น เราพบว่าการแคชแบบก้าวหน้ามีประโยชน์ในกรณีเดียวเท่านั้น เมื่อผู้เยี่ยมชมไซต์กลับมาที่หน้าเดิมซ้ำๆ ภายในช่วงชีวิตของเวอร์ชันแคช ในกรณีอื่นๆ ทั้งหมด การแคชแบบก้าวหน้าจะสร้างเฉพาะโหลดที่ไม่จำเป็นเพิ่มเติมบนเซิร์ฟเวอร์เพื่อแคชสำเนาแต่ละชุดของหน้าเดียวกันสำหรับผู้เยี่ยมชมแต่ละคน นอกจากนี้ขนาดของโฟลเดอร์แคชที่มีการแคชดังกล่าวจะเพิ่มขึ้นอย่างมาก

นอกจากนี้ เมื่อคุณเลือกการแคชแบบก้าวหน้า การแทนที่การแคชของโมดูลจะไม่ทำงาน เหล่านั้น. คุณสามารถปิดใช้งานการแคชของแต่ละโมดูลได้เฉพาะเมื่อคุณเลือกการแคชมาตรฐานโดยปิดใช้งานปลั๊กอินแคชของระบบเท่านั้น

จากประสบการณ์: ตอนแรกฉันเปิดใช้งานการแคชมาตรฐานโดยไม่เปิดใช้งานปลั๊กอินแคชของระบบ เซิร์ฟเวอร์ฐานข้อมูลยังคงหยุดทำงานเนื่องจากหน่วยความจำเหลือน้อย ดังนั้นฉันจึงต้องเปิดใช้งานปลั๊กอินแคชของระบบเพิ่มเติม จากนั้นการใช้หน่วยความจำก็ลดลงอย่างรวดเร็ว (ฉันเขียนเกี่ยวกับเรื่องนี้ไว้ด้านบน) และไซต์ก็เริ่มทำงานได้ตามปกติ ดูเหมือนว่าการแคชมาตรฐานนั้น ต่างจากการแคชโดยใช้ปลั๊กอินของระบบ แต่กลับไม่มีประสิทธิภาพสำหรับไซต์ของฉัน

โดยหลักการแล้ว จะไม่มีอะไรเลวร้ายเกิดขึ้นหากคุณเปิดใช้งานทั้งแคชมาตรฐานและปลั๊กอินแคชของระบบพร้อมกัน แต่ฉันคิดว่านี่ไม่จำเป็น โปรดแก้ไขฉันหากฉันผิด ฉันยินดีที่จะได้ยินความคิดเห็นของคุณเกี่ยวกับเรื่องนี้ เมื่อเวลาผ่านไป ฉันปิดการแคชมาตรฐาน (เนื่องจากการปิดใช้งานการแคชของแต่ละโมดูลยังคงใช้งานไม่ได้เนื่องจากเปิดใช้งานปลั๊กอิน) เหลือเพียงการแคชโดยใช้ปลั๊กอิน - สิ่งนี้ไม่ส่งผลต่อการใช้หน่วยความจำและความเร็วในการเปิดหน้า

การล้างแคชใน Joomla

ตามที่ฉันได้เขียนไว้ข้างต้น กลไกการแคชที่สร้างใน Joomla ใช้งานไม่ได้สำหรับผู้ใช้ที่เข้าสู่ระบบ ดังนั้นเมื่อคุณทำการเปลี่ยนแปลงใด ๆ ที่จัดเก็บไว้ในฐานข้อมูล คุณจะสามารถเห็นการเปลี่ยนแปลงเหล่านี้ได้ทันทีเมื่อคุณเข้าสู่ไซต์

แต่ถ้าคุณต้องการให้แขกของคุณเห็นการเปลี่ยนแปลงที่เกิดขึ้นในฐานข้อมูลล่ะ เมื่อต้องการทำเช่นนี้ Joomla มีกลไกในการบังคับให้ล้างแคช

หากต้องการทำสิ่งนี้ในแผงการดูแลระบบ ให้ไปที่ " ระบบ" => "ล้างแคชทั้งหมด".

เลือกทุกอย่างแล้วกดปุ่ม " ลบ".

โซลูชันของบุคคลที่สามสำหรับการแคชเว็บไซต์

เนื่องจากลักษณะเฉพาะของไซต์ของคุณ หากความสามารถที่ได้รับจากเครื่องมือในตัวใน Joomla นั้นไม่เพียงพอสำหรับคุณ ฉันสามารถเสนอปลั๊กอินที่ดีมากที่เรียกว่า JotCache- ให้การตั้งค่ากลไกการแคชที่ยืดหยุ่นมากขึ้น:

  • อนุญาตให้คุณยกเว้นแต่ละหน้าและโมดูลจากการแคช
  • เพื่อประหยัดพื้นที่ดิสก์ คุณสามารถกำหนดค่าการลบแคชที่ล้าสมัยโดยอัตโนมัติได้ (Joomla มีเพียงการลบแคชที่ล้าสมัยด้วยตนเองเท่านั้น)
  • เป็นไปได้ที่จะบีบอัดหน้าที่แคชไว้ก่อนที่จะบันทึกลงในโฟลเดอร์แคช (เพิ่มความเร็วเพิ่มเติมในการโหลดหน้าไซต์) และอื่นๆ อีกมากมาย

คุณสามารถช่วยโครงการนี้ได้โดยการพูดคุยเกี่ยวกับเรื่องนี้บนโซเชียลเน็ตเวิร์ก:

JotCache เป็นส่วนประกอบแคช Joomla ฟรีที่สามารถเพิ่มความเร็วไซต์ของคุณและลดภาระของเซิร์ฟเวอร์ ในบทความก่อนหน้านี้ “รีวิว JotCache การแคช Joomla 3 "เราดูที่คุณสมบัติหลักของส่วนขยาย "อัลกอริทึม" ทั่วไปสำหรับการตั้งค่า ทำความคุ้นเคยกับการทดสอบและผลลัพธ์ของไซต์ที่มี/ไม่มี JotCache และเริ่มตรวจสอบอินเทอร์เฟซโดยละเอียดมากขึ้น ในบทความนี้เราจะพูดถึงการแยก "องค์ประกอบ" ของไซต์ออกจากการแคชและการตั้งค่าปลั๊กอินแคช Joomla

Joomla 3.6 แนะนำการปรับปรุงในแง่ของระบบแคช: การล้างแคช Joomla เพียงคลิกเดียวและรองรับการแคชแบบย้อนกลับ แต่แม้จะคำนึงถึงสิ่งนี้ JotCache ก็มีความสามารถที่มากกว่ามาก โดยเฉพาะอย่างยิ่งในแง่ของการปรับแต่งและแก้ไขปัญหาแคชสำหรับเพจไดนามิกและองค์ประกอบของไซต์

ยกเว้น URL

ในบทที่ ยกเว้น URL(ภาพด้านล่าง) JotCache ช่วยให้คุณสามารถเปิดใช้งานหรือยกเว้นการแคชของเพจที่สร้างโดยส่วนประกอบบางอย่าง โปรดทราบว่าในการตั้งค่าปลั๊กอินระบบ JotCache คุณตั้งค่าว่าส่วนนี้มีไว้เพื่ออะไร - เพื่อรวมหรือแยกออกจากแคช (แท็บปลั๊กอิน ตัวเลือก ส่วนการแคช URL- เนื่องจากการตั้งค่านี้ ส่วนอาจถูกเรียก รวม URL- จากนั้นกฎทั้งหมดที่ระบุไว้ในนั้นจะหมายความว่าหน้าเหล่านี้จะต้องรวมอยู่ในแคช Joomla ในอนาคต เมื่อฉันเขียนว่า "ยกเว้น" หมายความว่าคุณสามารถเปิดใช้งานได้เช่นกัน ทั้งนี้ขึ้นอยู่กับการตั้งค่าปลั๊กอิน

คุณไม่จำเป็นต้องแยกแยะการแคชส่วนประกอบทั้งหมด ในตัวอย่างของฉัน ความคิดเห็นคอมโพเนนต์ Ccomment Pro และ SEF sh404SEF ถูกแยกออกจากแคช AJAX โดยสิ้นเชิง Cсomment Pro ถูกแยกออกเนื่องจากปัญหาในการทำซ้ำเพจ แต่ sh404SEF ถูกแยกออกเนื่องจากข้อเท็จจริงที่ว่าเมื่อขอเพจที่ไม่มีอยู่ในครั้งแรก เซิร์ฟเวอร์ส่งคืนการตอบสนอง 404 และในคำขอครั้งต่อไปสำหรับเพจที่ไม่มีอยู่จริงนี้ - 200 เนื่องจากหน้าเว็บที่มี URL ผิดไปอยู่ในแคช Joomla

คุณสามารถยกเว้นจากการแคชไม่ใช่ทุกหน้าขององค์ประกอบ แต่แต่ละหน้าขององค์ประกอบที่ URL มีการสืบค้นบางอย่าง ตัวอย่างเช่น ทำเพื่อแคช JoomShopping 4 (ภาพด้านล่าง) เมื่อต้องการทำเช่นนี้ในคอลัมน์ ดูข้อยกเว้นและพารามิเตอร์การค้นหาตรงข้ามกับ “jshopping” มีการเพิ่มพารามิเตอร์การค้นหาโดยคั่นด้วยเครื่องหมายจุลภาค: “controller=cart,controller=user,controller=checkout,controller=wishlist,controller=search” (ไม่มีเครื่องหมายคำพูด) นอกจากนี้ ไม่รวมตำแหน่งของเทมเพลตที่วางรถเข็นไว้


เพื่อให้ VirtueMart 3 แคชได้อย่างถูกต้อง คุณจะต้องตั้งค่า "cart,user,orders,askquestion,invoice,pluginresponse,state" เป็นข้อยกเว้น นอกจากนี้ ไม่รวมตำแหน่งของเทมเพลตที่วางรถเข็นไว้

คุณสามารถดูพารามิเตอร์คำขอได้ใน URL ของหน้าที่เกิดปัญหาแคช หากคุณเปิดใช้งาน CNC หรือปิดใช้งานเพื่อดู URL ที่ไม่ใช่ NC หรือบนแท็บ ทบทวนใน JotCache คลิกที่ไอคอนรูปตาตรงข้ามหน้า “ปัญหา”

ในตัวอย่างที่มีหน้า 404 และ sh404SEF การตั้งค่าข้อยกเว้นพารามิเตอร์คำขอเป็น "error404" ก็เพียงพอแล้ว

ถอนตำแหน่ง

หากไซต์ของคุณใช้โมดูลที่มีเนื้อหาสำคัญต่อการแคช เช่น โมดูลสลับสกุลเงินสำหรับร้านค้าออนไลน์ ในส่วนนี้ (รูปด้านล่าง) คุณสามารถแยกออกจากการแคชตำแหน่งของเทมเพลตซึ่งมีโมดูลดังกล่าวอยู่ได้

การแคชทั้งหมดที่กล่าวถึงก่อนหน้านี้คือการแคชของเซิร์ฟเวอร์ มันเพิ่มความเร็วในการโหลดอย่างมากและลดภาระบนเซิร์ฟเวอร์ (โดยลดเวลาการสร้างเพจ)

แต่การแคชในเบราว์เซอร์ฝั่งไคลเอ็นต์สามารถเพิ่มความเร็วของผู้ใช้ในการเข้าถึงเพจได้อย่างมากโดยไม่ต้องโหลดไซต์ เพจที่แคชไว้ในเบราว์เซอร์จะไม่ถูกโหลดจากเซิร์ฟเวอร์ไซต์ แคชดังกล่าวจะยอมรับได้เฉพาะกับเพจที่คงที่มากเท่านั้น ตัวอย่างเช่น ข้อมูลเกี่ยวกับบริษัท เงื่อนไขการชำระเงินและการจัดส่ง และอื่นๆ สิ่งที่สำคัญที่สุดคือหลังจากเยี่ยมชมหน้าดังกล่าวเบราว์เซอร์ของผู้ใช้จะไม่ติดต่อกับเซิร์ฟเวอร์ไซต์เพื่อรับหน้านี้ตลอดอายุการใช้งานของแคชของเบราว์เซอร์ที่คุณตั้งค่าไว้ในการตั้งค่า JotCache บนแท็บ ขั้นพื้นฐาน- มีข้อยกเว้น - ผู้ใช้ล้างแคชของเบราว์เซอร์หรือบังคับให้รีเฟรชหน้า

เพื่อให้ตัวเลือกนี้ทำงานในการตั้งค่าปลั๊กอิน JotCache บนแท็บ ต้องเปิดใช้งานตัวเลือก การแคชเบราว์เซอร์ (ดูป๊อปอัป!).

เมื่อพิจารณาว่าในความเป็นจริงมีเพียงไม่กี่หน้าเว็บไซต์ที่สามารถแคชในเบราว์เซอร์ได้ หลักการ JotCache ใช้งานได้: อย่าแคชหน้าในเบราว์เซอร์หากไม่ได้ระบุที่อยู่หรือส่วนหนึ่งของที่อยู่ในส่วนนั้น เปิดใช้งานแคชของเบราว์เซอร์(ภาพด้านล่าง)


ปลั๊กอินแคช JotCache

การตั้งค่าส่วนใหญ่รวบรวมไว้ในปลั๊กอินระบบ JotCache การตั้งค่าในนั้นแบ่งออกเป็นห้าแท็บ

  1. เสียบเข้าไป.
  2. คำอธิบาย.มีคำอธิบายข้อความสั้นๆ ของ JotCache และลิงก์ไปยังระบบช่วยเหลือบนเว็บไซต์ของผู้พัฒนา (เป็นภาษาอังกฤษ)
  3. โหมดการทำงานของแคช

มาดูรายละเอียดเพิ่มเติมที่แท็บเหล่านี้ เรามาเน้นเฉพาะตัวเลือกเหล่านั้นในความคิดของฉันซึ่งจะเป็นประโยชน์กับผู้ดูแลเว็บส่วนใหญ่ ฉันขอเตือนคุณว่าตัวเลือกต่างๆ มีคำแนะนำเครื่องมือเป็นภาษารัสเซีย และมีเอกสารภาษาอังกฤษที่ครอบคลุมให้เลือก

เสียบเข้าไป

บนแท็บนี้ (รูปภาพด้านล่าง) คุณสามารถตั้งค่าอายุการใช้งานของแคชเซิร์ฟเวอร์ได้ (ตัวเลือก เวลาแคช) เปิดใช้งานแคชเบราว์เซอร์ Joomla (ตัวเลือก อายุการใช้งานแคชของเบราว์เซอร์) และเปิดใช้งานการล้างแคชอัตโนมัติ

JotCache อนุญาตให้คุณใช้โหมดการทำงานที่แตกต่างกันของแคช Joomla ขึ้นอยู่กับเบราว์เซอร์/อุปกรณ์ (ภาพด้านล่าง) สิ่งนี้มีประโยชน์สำหรับการแก้ไขข้อขัดแย้งในการแสดงผลไซต์ โดยเฉพาะในกรณีของ Internet Explorer

  • ข้อยกเว้นไซต์จะโหลดโดยไม่ต้องใช้แคช
  • ทั่วไป.เนื้อหาของหน้าสำหรับเบราว์เซอร์ประเภทนี้จะถูกจัดเก็บไว้ในแคชที่ใช้ร่วมกันเพียงแคชเดียว
  • รายบุคคล.เนื้อหาของหน้าจะถูกจัดเก็บไว้ในที่เก็บข้อมูลแคชเฉพาะของตนเอง

เป็นเรื่องที่น่าสังเกตเป็นพิเศษ ไม่รวมบอท- เมื่อเปิดใช้งาน คุณจะบังคับให้ส่งคืนหน้าเว็บไซต์ไปยังเครื่องมือค้นหาโดยไม่ต้องใช้แคช สิ่งนี้ช่วยฉันกำจัดปัญหาในการทำซ้ำเนื้อหาของหน้าที่มีความคิดเห็น AJAX หากโรบ็อตการค้นหาไม่สร้างภาระที่เห็นได้ชัดเจนบนไซต์ของคุณ ตามความคิดของฉัน เป็นการดีกว่าที่จะให้เนื้อหาที่ "สดใหม่" ที่สุดแก่พวกเขาซึ่งไม่ได้มาจากแคช

JotCache ช่วยให้คุณสามารถจัดเก็บไฟล์แคชได้โดยตรงบนฮาร์ดไดรฟ์หรือไดรฟ์ SSD ของโฮสติ้งของคุณ – “ไฟล์” และใน RAM ของเซิร์ฟเวอร์ – “Memcache” หรือ “Memcached” (ภาพด้านล่าง) เพื่อให้สามารถใช้ “Memcache” หรือ “Memcached” ได้ คุณต้องมีตัวเลือกนี้บนเซิร์ฟเวอร์/โฮสติ้งของคุณ หากคุณมี VPS หรือเซิร์ฟเวอร์เฉพาะ คุณสามารถติดตั้งและกำหนดค่าโมดูลที่จำเป็นได้

หากคุณโฮสต์บนดิสก์ SSD ฉันไม่คิดว่าคุณจะเห็นความแตกต่างที่สำคัญระหว่างแคช "ไฟล์" และ "Memcache" หรือ "Memcached" แต่สำหรับเจ้าของโฮสติ้งบนดิสก์ปกติอาจมีความแตกต่างเชิงบวก

เมื่อฉันทดสอบแคช "Memcached" ไม่ใช่ใน Joomla 3.5.1 และไม่ใช่กับ JotCache แต่ด้วยแคช Joomla มาตรฐาน ฉันไม่สังเกตเห็นการปรับปรุงความเร็วหรือการโหลดที่ลดลงเลย ตรงกันข้ามความเร็วกลับลดลง จำนวนหน่วยความจำ (RAM) ที่ใช้เพิ่มขึ้นและภาระงานบนโปรเซสเซอร์เพิ่มขึ้น สิ่งนี้เกิดขึ้นอันเป็นผลมาจากการเกิดขึ้นของกระบวนการใหม่ "Memcached" ตอนแรกฉันคิดว่าบางทีฉันไม่ได้กำหนดค่าโมดูล Memcached บนเซิร์ฟเวอร์ หรือ VPS ของฉัน (โปรเซสเซอร์ 2x2.8 GHz, RAM 1024 MB, SSD) ของฉันไม่เพียงพอที่จะเห็นผลลัพธ์เชิงบวก นอกจากนี้ โหลดบนเซิร์ฟเวอร์/ไซต์ยังมีขนาดไม่ใหญ่นัก และการจัดเก็บแคชในไฟล์บน SSD ก็ทำได้ดีอยู่แล้ว (เทียบกับฮาร์ดไดรฟ์ "ปกติ") หลังจากนั้นไม่นาน ในบทความ “โปรแกรมการศึกษา Memcached และ PHP” ฉันพบคำอธิบาย: “...ควรใช้แคชกับทรัพยากรที่มีการโหลดสูงเท่านั้น ท้ายที่สุดแล้ว ทุกครั้งที่คุณเชื่อมต่อกับเซิร์ฟเวอร์ Memcached คุณจะเสียเวลาอันมีค่าซึ่งมักจะไม่สมเหตุสมผล … นอกจากนี้ อย่าลืมเกี่ยวกับการใช้หน่วยความจำด้วย! โปรดทราบว่าการใส่ 300 เมกะไบต์ในแคช คุณได้นำ RAM ไป 300 เมกะไบต์…”


บนแท็บ (ภาพด้านล่าง) คุณสามารถเปิดใช้งานแคชเบราว์เซอร์ Joomla (ตัวเลือกชื่อเดียวกัน)

การแคชเบราว์เซอร์ (ดูป๊อปอัป!)หากตัวเลือกนี้ถูกตั้งค่าเป็น ใช่จากนั้น JotCache จะใช้กลไกในการเก็บแคชไว้ในเบราว์เซอร์ ใช้อย่างระมัดระวัง ในคอมโพเนนต์ JotCache บนเพจ อายุการใช้งานแคชของเบราว์เซอร์คุณสามารถกำหนดได้ว่าหน้าไซต์ใดควรถูกแคชไว้ในเบราว์เซอร์ หน้าที่เลือกจะถูกแคชไว้ในเบราว์เซอร์ของผู้ใช้โดยไม่ต้องโหลดซ้ำจากเซิร์ฟเวอร์ไซต์ตราบใดที่แคชของเบราว์เซอร์หมดอายุ เวลาหมดอายุนี้สามารถตั้งค่าแยกกันสำหรับแต่ละ URL ที่กำหนด คุณสามารถตั้งค่าเวลาหมดอายุแคชเริ่มต้นได้ในการตั้งค่าส่วนประกอบ

ล้างหน้าที่แก้ไข- เลือก ใช่เพื่อลบหน้าที่แก้ไขออกจากแคชโดยอัตโนมัติ ผู้ใช้ที่แก้ไขเนื้อหาจากส่วนหน้าของไซต์จะต้องมีสิทธิ์ในการสร้างเป็นอย่างน้อย

ยกเว้น URL ที่มีคำขอ- เพจทั้งหมดที่มีการสืบค้นใน URL (ส่วนของ URL หลัง "?") จะถูกแยกออกจากการแคช เปิดใช้งานตัวเลือกนี้เฉพาะเมื่อมีตัวเลือกเท่านั้น เปิดใช้งาน SEF (CNC)ตั้งค่าไว้ในการตั้งค่า Joomla ทั่วไป ใช่.

การรวม JS และ CSS- ช่วยให้คุณสามารถกำหนดค่าการรวม JotCache กับส่วนประกอบการเพิ่มประสิทธิภาพความเร็วในการโหลดเว็บไซต์ JCH Optimize, Rokbooster หรือ Scriptmerge เพื่อแคชหน้าที่ปรับให้เหมาะสมอย่างถูกต้องและล้างแคช

หากคุณตัดสินใจที่จะติดตั้งหนึ่งในองค์ประกอบการเพิ่มประสิทธิภาพความเร็วในการโหลดไซต์ดังกล่าว ให้ปิดการใช้งานแคชก่อน กำหนดค่าองค์ประกอบการเพิ่มประสิทธิภาพ และตรวจสอบทุกอย่าง หากคุณพอใจกับผลลัพธ์ ให้เปิดใช้งานการแคช การบูรณาการช่วยขจัดปัญหาความเข้ากันได้ที่อาจเกิดขึ้น

อย่างที่คุณเห็น JotCache แตกต่างจากระบบแคชมาตรฐานตรงที่ช่วยให้คุณปรับแต่งแคช Joomla ได้อย่างละเอียด บรรลุประสิทธิภาพที่เพิ่มขึ้น ลดภาระของเซิร์ฟเวอร์ และรักษาฟังก์ชันการทำงานและรูปลักษณ์ของไซต์ ฉันทราบว่าสำหรับโปรเจ็กต์ที่ใช้เนื้อหาไดนามิกจำนวนมาก กระบวนการตั้งค่าอาจเป็นเรื่องยากและจะต้องใช้เวลามากและการศึกษาเอกสารประกอบอย่างรอบคอบ ด้วยเนื้อหาไซต์แบบไดนามิกมากขึ้น ผลของแคชจึงสังเกตเห็นได้น้อยลง

  • เว็บไซต์อย่างเป็นทางการของผู้พัฒนา (ภาษาอังกฤษ)
  • เอกสารประกอบ (เป็นภาษาอังกฤษ)

ฟังก์ชันการทำงานของ Joomla ให้โอกาสในการเพิ่มความเร็วในการโหลดไซต์โดยจัดให้มีการแคชข้อมูลบนเซิร์ฟเวอร์ ซึ่งจะกล่าวถึงการกำหนดค่าในเนื้อหานี้

การแคชเซิร์ฟเวอร์คืออะไร?

ไซต์บน CMS จูมล่าเป็นแบบไดนามิก: ก่อนที่จะแสดงในเบราว์เซอร์ หน้าเว็บจะถูกสร้างขึ้นผ่านการโต้ตอบของโค้ด PHP กับฐานข้อมูล สิ่งนี้เกี่ยวข้องกับการดำเนินการจำนวนมากบนฝั่งเซิร์ฟเวอร์ ความเร็วที่สามารถลดลงอย่างมากหากมีการร้องขอจำนวนมากไปยังไซต์ในเวลาเดียวกัน (ผู้ใช้จำนวนมากต่อหน่วยเวลา) ซึ่งเป็นผลมาจากการโหลด เวลาของหน้าเว็บไซต์สามารถเพิ่มขึ้นได้อย่างมาก

การแคชเซิร์ฟเวอร์ช่วยให้คุณอำนวยความสะดวกในการทำงานของเซิร์ฟเวอร์: หน้าเว็บทั้งหมดหรือบางส่วนในรูปแบบของโค้ด HTML สุดท้ายจะถูกเก็บไว้บนเซิร์ฟเวอร์ในรูปแบบของไฟล์ชั่วคราว (แคช) หลังจากรุ่นและให้บริการเมื่อผู้ใช้ร้องขอ .

ประเภทของแคชใน Joomla 3

Joomla มีการแคชข้อมูล 3 ประเภทบนเซิร์ฟเวอร์:

ตอนนี้เกี่ยวกับแต่ละรายการตามลำดับ

ระดับแคชมาตรฐาน

รับประกันการสร้างไฟล์แคชสำหรับองค์ประกอบทั้งหมดของหน้าเว็บ รวมถึงโมดูลที่การตั้งค่าไม่ปิดใช้งานการแคช เหมาะสำหรับทุกไซต์

ระดับแคชแบบก้าวหน้า

คล้ายกับมาตรฐาน ยกเว้นว่าโมดูลทั้งหมดจะถูกแคชไว้ในไฟล์เดียว โดยไม่คำนึงถึงการตั้งค่าส่วนบุคคล ตัวเลือกนี้ไม่เหมาะสำหรับไซต์ที่มีโมดูลไดนามิก ซึ่งเนื้อหาสามารถเปลี่ยนแปลงได้ขึ้นอยู่กับการกระทำของผู้ใช้ (เช่น โมดูลตะกร้าสินค้าเสมือน)

การแคชหน้า

ตัวเลือกนี้เกี่ยวข้องกับการบันทึกสำเนาสุดท้ายของหน้าเว็บทั้งหมด รวมถึงส่วนประกอบต่างๆ แคชประเภทนี้มีประสิทธิภาพสูงสุดในแง่ของความเร็วในการโหลด และเหมาะสำหรับหน้า Landing Page ส่วนใหญ่ แต่ไม่ใช่สำหรับไซต์ที่มีเนื้อหาอัปเดตอยู่ตลอดเวลา

การตั้งค่าแคชใน Joomla 3

พูดคุยเกี่ยวกับวิธีเปิดใช้งานและกำหนดค่าแคชของเซิร์ฟเวอร์

การกำหนดค่าแคชมาตรฐานหรือแบบก้าวหน้า

  1. ระบบการตั้งค่าทั่วไป
  2. แท็บ ระบบ
  3. บท การตั้งค่าแคช
  4. ตัวจัดการแคช

    หากเปิดใช้งานพรีคอมไพเลอร์การประมวลผลแคชบนเซิร์ฟเวอร์ พรีคอมไพเลอร์เหล่านั้นจะอยู่ในรายการแบบเลื่อนลง หากไม่มีทางเลือกหรือยาก ให้เลือกค่า ไฟล์.

  5. เส้นทางไดเรกทอรีแคช

    หากปล่อยทิ้งไว้ไม่สำเร็จ ไฟล์ชั่วคราวทั้งหมดจะถูกจัดเก็บไว้ในโฟลเดอร์ /cache/

  6. เวลาแคช

    ระบุเวลาการจัดเก็บไฟล์ชั่วคราวเป็นนาที เราแนะนำให้ตั้งค่าเท่ากับความถี่โดยประมาณในการอัปเดตเนื้อหาบนเว็บไซต์ แต่ไม่เกิน 1,440 นาที (หนึ่งวัน) เพื่อหลีกเลี่ยงปัญหาใดๆ

  7. แคชเฉพาะแพลตฟอร์ม

    ควรเปิดใช้งานเมื่อโค้ดของหน้าเว็บแตกต่างกันขึ้นอยู่กับอุปกรณ์เอาท์พุต (เช่น ใช้เลย์เอาต์ที่แตกต่างกันสำหรับอุปกรณ์มือถือ)

  8. แคชของระบบ

    จริงๆ แล้ว ตัวเลือกนี้จะกำหนดประเภทของแคช (มาตรฐานหรือแบบก้าวหน้า)

  9. เมื่อตั้งค่าเรียบร้อยแล้ว คลิก บันทึกหรือ บันทึกและปิด

การตั้งค่าการแคชหน้า

ฟังก์ชั่นนี้เปิดใช้งานผ่านปลั๊กอินของระบบและใน การตั้งค่าไซต์ทั่วไป(แท็บ ระบบ, บท การตั้งค่าแคช) ต้องระบุ เวลาแคช.

  1. ส่วนขยายปลั๊กอิน
  2. เสียบเข้าไป ระบบ - แคช
  3. สถานะ รวมอยู่ด้วย

การตั้งค่าปลั๊กอินช่วยให้คุณสามารถเปิดใช้งานแคชในเบราว์เซอร์ (ไม่แนะนำให้เปิดใช้งานเนื่องจากในกรณีนี้ทั้งหน้ารวมถึงโค้ด HTML จะถูกเก็บไว้ในเบราว์เซอร์และแสดงโดยไม่คำนึงถึงการเปลี่ยนแปลงที่เกิดขึ้นบนไซต์) รวมทั้งไม่รวมการแคชของแต่ละหน้าตามรายการเมนูและ URL

การล้างแคชเซิร์ฟเวอร์ใน Joomla 3

หากมีการเปลี่ยนแปลงในหน้าเว็บไซต์ก่อนที่ไฟล์แคชจะหมดอายุ จะต้องลบไฟล์เหล่านั้นในเวลาที่เหมาะสม เพื่อจุดประสงค์นี้ Joomla จึงมีฟังก์ชันมาตรฐาน:

  1. ระบบล้างแคชทั้งหมด

    หากต้องการลบไฟล์ชั่วคราวทั้งหมด

  2. ระบบล้างแคชที่ล้าสมัย

    เพื่อลบไฟล์แคชที่หมดอายุ

CMS Joomla มีความสามารถในการแคชวัสดุ ซึ่งช่วยลดจำนวนการร้องขอไปยังฐานข้อมูล จึงช่วยเร่งเวลาการสร้างเพจและลดภาระบนเซิร์ฟเวอร์ นี่เป็นสิ่งสำคัญอย่างยิ่งสำหรับไซต์ที่มีการเข้าชมสูง

หลักการดำเนินการมีดังต่อไปนี้โดยประมาณ: เมื่อคุณเข้าถึงเนื้อหาเป็นครั้งแรก เนื้อหาไม่เพียงแต่จะถูกสร้างขึ้นและส่งไปยังเบราว์เซอร์ของผู้ใช้ที่ร้องขอเท่านั้น แต่ยังบันทึกไว้ในโฟลเดอร์เฉพาะของไซต์ของคุณ (โฟลเดอร์แคช) ครั้งถัดไปที่คุณเข้าถึงเนื้อหาเดียวกัน วัสดุนั้นจะไม่ถูกสร้างขึ้นใหม่อีกต่อไป โดยกินทรัพยากรเซิร์ฟเวอร์ แต่จะถูกดึงออกจากแคชเท่านั้น

คำถามเกิดขึ้น:“ แล้วสถานการณ์ในการอัปเดตไซต์จะเป็นอย่างไรผู้ใช้จะไม่สังเกตเห็นการเปลี่ยนแปลงที่เราทำเนื่องจากข้อมูลที่ล้าสมัยจากแคชแสดงให้เขาเห็น”

อย่างแน่นอน. ผู้ใช้จะเห็นการเปลี่ยนแปลงที่เกิดขึ้นหลังจากช่วงเวลาหนึ่งเท่านั้นซึ่งเรียกว่า เวลาแคช- นี่คือช่วงเวลาที่ข้อมูลแคชถูกเก็บไว้ จากนั้นจะถูกลบและแคชอีกครั้ง

การเลือกอายุการใช้งานแคชที่ถูกต้องเป็นสิ่งสำคัญมาก ปัจจัยสำคัญที่นี่คือความถี่ในการอัปเดตข้อมูล ตัวอย่างเช่น หากคุณอัปเดตข้อมูลบนเว็บไซต์วันละครั้ง ก็สมเหตุสมผลที่จะตั้งเวลาแคชให้น้อยกว่า 24 ชั่วโมงเล็กน้อย เช่น - 22 ชั่วโมง (1320 นาที) ในอีกสองสามชั่วโมงที่เหลือ ค่อนข้างเป็นไปได้ที่จะอัปเดตเนื้อหา

หากคุณทำการเปลี่ยนแปลงทุกๆ สองวัน ให้ตั้งเวลาเป็น 46 ชั่วโมง (2760 นาที) โดยทั่วไปผมคิดว่าความหมายมีความชัดเจน

หากคุณจำเป็นต้องทำการอัปเดตที่ไม่ได้กำหนดไว้อย่างกะทันหัน และต้องการให้การเปลี่ยนแปลงมีผลทันที คุณสามารถล้างแคชด้วยตนเองได้

หากต้องการเปิดใช้งานการแคช ให้ไปที่แผงผู้ดูแลระบบ เลือกไซต์ - การตั้งค่าทั่วไป - ระบบ ทางด้านขวาคุณจะเห็นการตั้งค่าแคช

ตั้งสวิตช์วิทยุเป็น "ใช่" และตั้งเวลาแคช อย่าลืมคลิกที่ปุ่ม "บันทึก" เพื่อให้การเปลี่ยนแปลงมีผล :)

ในกรณีนี้เราตั้งค่าสิ่งที่เรียกว่า พารามิเตอร์ส่วนกลาง เช่น เปิดใช้งานการแคชสำหรับทั้งไซต์ อย่างไรก็ตาม สำหรับบางโมดูล จะเป็นการดีกว่าที่จะไม่ใช้เลย สิ่งเหล่านี้อาจเป็นโมดูลที่แสดงข้อมูลที่อัปเดตบ่อยครั้ง เช่น ข่าวสาร สภาพอากาศ ฯลฯ

ไปที่ส่วนขยาย - MODULES MANAGER - คลิกที่สิ่งที่คุณต้องการและเข้าสู่การตั้งค่า เราสนใจรายการพารามิเตอร์ (ทางด้านขวา)

อย่างที่คุณเห็น คุณสามารถใช้การตั้งค่าส่วนกลางหรือไม่ใช้แคชเลยสำหรับโมดูลเฉพาะก็ได้

หากต้องการล้างแคชด้วยตนเอง ให้ไปที่เครื่องมือ - ล้างแคช

สรุป:เทคโนโลยีแคชสามารถเร่งความเร็วเว็บไซต์ Joomla และปรับปรุงประสิทธิภาพได้อย่างมาก เมื่อใช้เทคโนโลยีนี้ สถานการณ์อาจเกิดขึ้นเมื่อผู้เยี่ยมชมเห็นการอัปเดตบนเว็บไซต์ด้วยความล่าช้าบางอย่าง เพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้น คุณต้องเลือกเวลาแคชให้ถูกต้อง เกณฑ์หลักในการเลือกเวลานี้คือความถี่ในการอัปเดตไซต์ สำหรับบางโมดูล เช่น ผู้แจ้งข้อมูลต่างๆ จะเป็นการดีกว่าถ้าปิดใช้งานการแคชทั้งหมด

วันนี้ฉันจะสอนวิธีเพิ่มความเร็วเว็บไซต์ของคุณ จูมล่าโดยใช้ เก็บเอาไว้- หากต้องการกำหนดค่าแคชสำหรับไซต์ คุณต้องไปที่ "การตั้งค่าทั่วไป"

จากนั้นแท็บ "ระบบ" และนี่คือการตั้งค่าแคช ขณะนี้เราได้ปิดการใช้งานแคชตามค่าเริ่มต้น หากต้องการเปิดใช้งาน คุณต้องเลือกแคชมาตรฐานหรือโปรเกรสซีฟก่อน ฉันจะบอกทันทีว่าด้วยการแคชแบบก้าวหน้า ไซต์จะทำงานเร็วขึ้น ดังนั้นเลือกมัน ตัวจัดการคือไฟล์และเวลาแคชคือ 15 นาที

แคชคืออะไร? เว็บไซต์จะไม่เปลี่ยนแปลงเป็นเวลา 15 นาที การปรับปรุงไซต์ใหม่จะไม่แสดงทุกครั้ง แต่จะแสดงผลทุกๆ 15 นาทีเท่านั้น ดังนั้นเมื่อเลือกเวลานี้ ให้ดูว่าไซต์ของคุณอัปเดตบ่อยแค่ไหน หากคุณมีพอร์ทัลข่าวบางประเภทที่ต้องอัปเดตทุกๆ 5 นาที คุณจะตั้งค่าแคชน้อยลง หากคุณมีเว็บไซต์ธรรมดา เวลา 15 นาทีจะเป็นตัวเลือกที่ดีที่สุด

มีข้อบกพร่องบางประการในบางไซต์ คุณควรตรวจสอบเสมอว่ามีการเปลี่ยนแปลงหรือไม่ มี "แต่" อย่างหนึ่ง เมื่อคุณเปลี่ยนไซต์อย่างรวดเร็ว แคชนี้อาจเล่นตลกได้ไม่ดี เพราะคุณสามารถเปลี่ยนแปลงบางสิ่งบางอย่างได้ และเมื่อดูไซต์ คุณจะไม่เห็นการเปลี่ยนแปลง

เพื่อจุดประสงค์นี้ มีบริการพิเศษในตัวเพื่อลบแคชและเพื่อให้มองเห็นการเปลี่ยนแปลงที่คุณทำบนไซต์ได้ทันที สิ่งเหล่านี้คือ "การบำรุงรักษา" - "ล้างแคชทั้งหมด" และ "ล้างแคชที่ล้าสมัย"

ทุกครั้งที่คุณต้องการดูบางสิ่งบนเว็บไซต์ คุณต้องคลิกปุ่มสองปุ่มนี้ แต่เพื่อที่จะเร่งกระบวนการนี้ให้เร็วขึ้นและไม่ต้องมาที่นี่และลบมันทุกครั้ง มีปลั๊กอินพิเศษที่จะช่วยให้คุณลบแคชได้เร็วยิ่งขึ้นและดูการเปลี่ยนแปลงของคุณบนเว็บไซต์ที่คุณทำจากแผงการดูแลระบบ

มีเว็บไซต์ที่น่าสนใจเช่น http://www.nonumber.nl/ นี่คือผู้พัฒนาส่วนขยาย Joomla และมีส่วนขยายฟรีมากมาย ไปกันเถอะ ส่วนขยายและเราจะพบมันที่นี่ ตัวล้างแคช.

มีสองตัวเลือก - ดาวน์โหลดฟรีหรือซื้อในราคา 10 ยูโร เรากำลังดาวน์โหลดฟรี

จากนั้นไปที่แผงผู้ดูแลระบบและติดตั้ง ทุกอย่างได้รับการติดตั้งอย่างดีและมีคำเตือนทันที: “โปรดล้างแคชของอินเทอร์เน็ตเบราว์เซอร์ของคุณ” จากนั้นคุณจะต้องเปิดใช้งานปลั๊กอินนี้ในตัวจัดการปลั๊กอิน

มาดูการตั้งค่ากัน “ล้างอัตโนมัติเมื่อบันทึก” - หากเราบันทึกการเปลี่ยนแปลงบางอย่างบนไซต์ แคชของเราจะถูกลบโดยอัตโนมัติ มี “แผงควบคุม” ให้คุณทำสิ่งนี้หรือแจ้งเตือน นอกจากนี้ใน "ส่วนหน้าของไซต์" เราก็สามารถอนุญาตและแจ้งเตือนได้เช่นเดียวกัน “ชำระล้างตามที่คุณทำ” เมื่อใดควรล้างแคช เมื่อเราบันทึก เมื่อเราสมัคร - บันทึกสมัคร- นั่นคือเราไม่จำเป็นต้องลบแคชทุกครั้งมันจะถูกลบโดยอัตโนมัติ

"การล้างไดเรกทอรีอื่น" ด้วย - ทีเอ็มพี- หากเราดาวน์โหลดส่วนขยายผ่านโฟลเดอร์ tmp ส่วนขยายนั้นจะถูกล้างด้วย และ “การล้างข้อมูลอัตโนมัติเมื่อบันทึก” เฉพาะในเวอร์ชัน PRO เท่านั้น เช่น ไดเร็กทอรี เป็นต้น นอกจากนี้ “การทำความสะอาดตารางและฐานข้อมูล” เฉพาะรุ่น PRO เท่านั้น หากเราต้องการมันจริงๆ เราจะซื้อ PRO ในราคา 10 ยูโร พารามิเตอร์เพิ่มเติม: “แสดงขนาดแคช” - ขนาดแคชจะปรากฏขึ้น

และหลังจากบันทึกแล้ว ปุ่ม "ล้างแคช" จะปรากฏขึ้น เราสามารถคลิกมันเองได้ และมันจะแสดงให้เราเห็นว่าแคชถูกลบไปกี่ KB หรือเราสามารถกำหนดค่าให้ไม่แสดงก็ได้ หากคุณตั้งค่า "ไม่" เป็น "ส่วนหน้าของไซต์" ก็จะไม่ปรากฏ



มีคำถามหรือไม่?

แจ้งการพิมพ์ผิด

ข้อความที่จะส่งถึงบรรณาธิการของเรา: