ให้บริการสินทรัพย์แบบคงที่ด้วยนโยบายแคชที่มีประสิทธิภาพ (3 วิธี)

เผยแพร่แล้ว: 2022-04-12

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

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

สารบัญ

แคชคืออะไร?

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

การแคชทำงานอย่างไร

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

ในทางตรงกันข้ามกับฐานข้อมูลที่จัดเก็บข้อมูลทั้งหมดและยาวนาน แคชมักจะจัดเก็บข้อมูลบางส่วนไว้ชั่วคราว

ข้อดีของการแคช

ปล่อยให้ผ่านข้อดีบางประการของการแคช

เพิ่มประสิทธิภาพการทำงานของแอปพลิเคชันของคุณ

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

ควรลดการโหลดแบ็กเอนด์

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

ฮอตสปอตในฐานข้อมูลควรถูกกำจัด

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

ลดค่าใช้จ่ายของฐานข้อมูลของคุณ

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

ประสิทธิภาพที่คาดเดาได้

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

เพิ่มจำนวนคนอ่าน (IOPS)

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

การแคชสินทรัพย์คืออะไร?

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

การแคชสินทรัพย์แบบคงที่คืออะไร?

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

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

อ่านเพิ่มเติม: วิธีแก้ไข Permalinks ที่ใช้งานไม่ได้ใน WordPress

นโยบายแคชที่มีประสิทธิภาพคืออะไร?

หากไฟล์สแตติกของคุณไม่เปลี่ยนแปลง (หรือคุณมีกลไกป้องกันแคชที่ยอมรับได้) เราแนะนำให้ตั้งค่านโยบายแคชเป็น 6 เดือนหรือ 1 ปี

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

แน่นอน หากคุณแก้ไขไฟล์สแตติกด้านบนบ่อยๆ คุณสามารถเลือกเวลาหมดอายุของแคชที่สั้นลงได้ตราบเท่าที่ยังมากกว่า 3 เดือน

ให้บริการทรัพย์สินแบบคงที่ด้วยนโยบายแคชที่มีประสิทธิภาพ

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

  1. การใช้ไฟล์ .htaccess หากคุณใช้ LiteSpeed ​​Enterprise หรือ Apache
  2. การใช้แคช LiteSpeed
  3. การใช้ปลั๊กอิน W3 Total Cache

ให้บริการ Static Assets โดยใช้ไฟล์ .htaccess บน Apache และ LiteSpeed ​​Enterprise

หมายเหตุ: หากคุณใช้ OpenLiteSpeed ​​หรือ NGINX วิธีการนี้จะไม่ทำงาน

เข้าสู่ระบบแดชบอร์ด WordPress ของคุณ

คลิกที่ปลั๊กอิน -> เพิ่มใหม่จากเมนูด้านซ้ายมือ

ค้นหา "ตัวจัดการไฟล์" ติดตั้งและเปิดใช้งานปลั๊กอิน

คลิกที่ "ตัวจัดการไฟล์" จากเมนูด้านซ้ายมือ

ในโฟลเดอร์ public_html ให้คลิกขวาที่ .htaccess แล้วคลิกเปลี่ยนชื่อ

เปลี่ยนชื่อไฟล์ (.htaccess-error)

คลิกที่ไอคอน "ไฟล์ใหม่" จากด้านบน

ตั้งชื่อไฟล์ ".htaccess"

วางรหัสต่อไปนี้แล้วบันทึกและปิด

 <IfModule mod_expires.c> ExpiresActive On # CSS, JavaScript ExpiresByType text/css "access plus 1 year" ExpiresByType text/javascript "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" # Fonts ExpiresByType font/ttf "access plus 1 year" ExpiresByType font/otf "access plus 1 year" ExpiresByType font/woff "access plus 1 year" ExpiresByType font/woff2 "access plus 1 year" ExpiresByType application/font-woff "access plus 1 year" # Images ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/webp "access plus 1 year" ExpiresByType image/svg+xml "access plus 1 year" ExpiresByType image/x-icon "access plus 1 year" # Video ExpiresByType video/webm "access plus 1 year" ExpiresByType video/mp4 "access plus 1 year" ExpiresByType video/mpeg "access plus 1 year" # Others ExpiresByType application/pdf "access plus 1 year" ExpiresByType image/vnd.microsoft.icon "access plus 1 year" </IfModule>

ให้บริการสินทรัพย์แบบคงที่โดยใช้ LiteSpeed ​​Cache

คุณต้องติดตั้งและเปิดใช้งานปลั๊กอิน LiteSpeed ​​Cache เมื่อติดตั้งแล้ว ให้ทำตามคำแนะนำด้านล่าง:

  • ไปที่แดชบอร์ด WordPress ของคุณ
ให้บริการทรัพย์สินแบบคงที่ด้วยนโยบายแคชที่มีประสิทธิภาพ
  • คลิกที่ LiteSpeed ​​Cache -> Cache จากเมนูด้านซ้ายมือ
  • คลิกที่แท็บ "เบราว์เซอร์" จากด้านบน
  • เปิด "แคชเบราว์เซอร์" สลับ
  • คลิก "บันทึกการเปลี่ยนแปลง"

ให้บริการสินทรัพย์คงที่โดยใช้ W3 Total Cache

ติดตั้งและเปิดใช้งานปลั๊กอิน W3 Total Cache ก่อน จากนั้นทำตามคำแนะนำด้านล่าง

  • ไปที่แดชบอร์ด WordPress ของคุณ
  • คลิกที่ประสิทธิภาพ -> แคชเบราว์เซอร์จากเมนูด้านซ้ายมือ
  • เลื่อนลงไปที่ "สื่อและไฟล์อื่นๆ" เปลี่ยน "Expires Header Lifetime" เป็นอย่างน้อย 15552000 วินาที (180 วัน)
  • คลิกที่ "บันทึกการตั้งค่าทั้งหมด"

บทสรุป

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