TL; DR - ใน MageStack เราใช้ Varnish, Redis (แคช), Redis (เซสชัน) และ Eaccelerator / Zend OPCache (ขึ้นอยู่กับเวอร์ชันของ PHP)
คุณเข้าใจส่วนใหญ่แล้ว
ส่วนแบ็คเอนด์แคช, เซสชั่นสโตร์, แคป opcode, แคชแบบเต็มหน้าและแคชพร็อกซีย้อนกลับต่างกันทั้งหมด
คุณสามารถใช้เทคโนโลยีที่แตกต่างกันสำหรับทุกคนและคุณสามารถใช้พวกเขาทั้งหมดพร้อมกัน (รวมถึงวานิชและ FPC)
แบ็กเอนด์แคช
- ไฟล์ (หลัก) เริ่มต้น
- Memcache (หลัก)
- APC (หลัก)
- Redis (<1.9 โมดูลมารยาท Colin Mollenhour)
- MongoDB (โมดูลมารยาท Colin Mollenhour)
- Rubic (โมดูลมารยาทของ Daniel Sloof)
คุณสามารถใช้แบ็กเอนด์แคชเดียวเท่านั้น
ขัดกับความเชื่อที่นิยมใช้แคชตามหน่วยความจำจะไม่ปรับปรุงประสิทธิภาพ แต่จะเอาชนะข้อบกพร่องร้ายแรงบางประการในการแคชตามไฟล์เริ่มต้นของ Magento
ในการเขียนข้อความนี้ Redis เป็นคำแนะนำของฉัน
ร้านค้าเซสชัน
- ไฟล์ (หลัก) เริ่มต้น
- Memcache (หลัก)
- Redis (<1.9 โมดูลมารยาท Colin Mollenhour)
- MongoDB (โมดูลมารยาท Colin Mollenhour)
คุณสามารถใช้ร้านค้าเซสชั่นเดียวเท่านั้น
ตรงกันข้ามกับความเชื่อที่ได้รับความนิยมการใช้เซสชั่นที่ใช้หน่วยความจำจะไม่เพิ่มประสิทธิภาพ
ในการเขียนข้อความนี้ Redis เป็นคำแนะนำของฉัน
OpCode Cache
- APC
- XCache
- ตัวเร่งความเร็ว (PHP <5.4)
- Zend OPCache (PHP> 5.4)
คุณสามารถติดตั้งแคช opcode ได้หลายตัว แต่ไม่แนะนำและฉันไม่คาดหวังว่าจะได้รับผลกำไรใด ๆ
คำแนะนำของฉันอยู่ในวงเล็บด้านบน
ไม่จำเป็นต้องติดตั้งโมดูลเพื่อใช้ประโยชน์จากสิ่งนี้
Reverse Proxy Cache
- เคลือบเงา
- Nginx
- อาปาเช่
- … และอื่น ๆ อีกมากมาย
คุณสามารถใช้พร็อกซีย้อนกลับหลายรายการและในขณะที่ทำเช่นนั้นมีความซับซ้อนและมีแนวโน้มที่จะยืดตัวแคชมันอาจมีข้อดี (เช่นเพื่อป้องกันการประทับตราระหว่างการล้างแคช)
ใช้เมื่อจำเป็น (เช่นไม่ใช่เพื่อเพิ่มความเร็วของไซต์ที่ช้า แต่เพื่อลดการใช้ทรัพยากรบนไซต์ที่รวดเร็ว)
เพื่อใช้ประโยชน์จาก reverse proxy มันต้องการทั้งการเปิดใช้งานฝั่งเซิร์ฟเวอร์และต้องการโมดูลสำหรับ Magento
เหตุผลสำหรับโมดูลคือเพื่อช่วยควบคุมตรรกะการแคช (เช่นเพื่อบอกแคชสิ่งที่ควรและไม่ควรแคช) และเพื่อจัดการเนื้อหาแคช (เช่นเพื่อเรียกการล้างแคช)
ฉันไม่แนะนำใด ๆ เว้นแต่คุณจะมีความเข้าใจในสิ่งที่คุณทำ การตั้งค่าพร็อกซีย้อนกลับไม่ถูกต้องสามารถทำลายข้อมูลส่วนหัวอาจทำให้เกิดการสูญเสียเซสชันการแบ่งปันเซสชันเนื้อหาค้างเก่าใช้ข้อ จำกัด เพิ่มเติมในการโหลดเวลา / บัฟเฟอร์ใช้ทรัพยากรเพิ่มเติมเป็นต้น
แคชของหน้าเต็ม
- EE FPC
- …อื่น ๆ อีกมากมาย (ผ่านโมดูล)
ใช้เมื่อจำเป็น (เช่นไม่ใช่เพื่อเพิ่มความเร็วของไซต์ที่ช้า แต่เพื่อลดการใช้ทรัพยากรบนไซต์ที่รวดเร็ว)
ตรงกันข้ามกับความเชื่อที่ได้รับความนิยมคุณสามารถ (และควร) ใช้ FPC ร่วมกับแคชพร็อกซีย้อนกลับ ทั้งสองแก้ปัญหาต่าง ๆ และมีความสามารถที่แตกต่างกัน
FPC สามารถใช้ประโยชน์จากหน่วยสืบราชการลับมากขึ้นเพราะพวกเขามีการเข้าถึงโดยตรงไปยังเซสชั่นผู้ใช้และแกนกลางของวีโอไอพีในขณะที่พร็อกซีย้อนกลับไม่ทราบแอปพลิเคชัน (มันค่อนข้างเป็นใบ้ .
กล่าวคือ อย่าคิดว่าเคลือบเงาหรือ FPC คิดว่าเคลือบเงาและ FPC