น้ำยาเคลือบเงาเหมาะสำหรับคุณหรือไม่?
วานิชไม่ได้มีประสิทธิภาพที่ยอดเยี่ยมและสุดยอดของวีโอไอพี มันยอดเยี่ยมในการชดเชยภาระจากบอท & ผู้ซื้อหน้าต่าง แต่มันไม่ควรเป็นพอร์ตแรกของการโทรเพื่อทำให้ร้านค้าของคุณเร็วขึ้น
ที่จริงแล้วการใช้น้ำยาวานิชควรเป็นการปรับเปลี่ยนประสิทธิภาพครั้งสุดท้ายในร้านของคุณ วางในครั้งเดียวที่คุณเห็นเวลาโหลดหน้าเว็บเท่านั้น Magento สามารถแสดงผลได้โดยไม่ต้องโหลด (เช่น <โหลดหน้า 600ms ครั้ง)
ร้านค้าของคุณยังต้องรวดเร็ว
เนื่องจากวานิชยังต้องการโหลดหน้าเว็บอย่างน้อยหนึ่งครั้งเพื่อทำให้แคชดีขึ้นหมายความว่าประสิทธิภาพที่ไม่แคชของคุณยังคงต้องดีมาก URL ที่ไม่ซ้ำกันส่วนใหญ่ (การเข้าชมในเลเยอร์การนำทางการค้นหาเป็นต้น) จะไม่ถูกนำเสนอจากวานิชจริงๆเว้นแต่ว่าจะ:
a) TTLs ของคุณสูงมากซึ่งการค้นหาจาก 4 วันที่ผ่านมายังคงใช้ได้ในวันนี้
b)การก้าวเท้าบนไซต์มีมากมายจน URL นั้นบรรจุในเวลาอันสั้น
นอกจากนี้คุณยังต้องพิจารณาว่าไม่ทุกร้านยืมตัวเองไปวานิช เว็บไซต์ใด ๆ ที่ส่งเสริมให้ผู้ใช้สร้างเซสชันส่วนตัว (เช่นล็อกอินเข้าสู่ระบบสั่งซื้อ ฯลฯ ) ก่อนใครในการเดินทางของลูกค้าของพวกเขาจะหมายความว่าวานิชจะซ้ำซ้อนในท้ายที่สุด
ตัวอย่างเช่นไซต์ช็อปปิ้งส่วนตัวสนับสนุนให้ผู้ใช้เข้าสู่ระบบจากการตั้งค่าอย่างไรก็ตามในการทำเช่นนี้หมายความว่าวานิชไม่เคยมีเนื้อหาที่ไม่ซ้ำที่สามารถแคชได้ ดังนั้นอัตราการเข้าชมของคุณจะต่ำลงอย่างมากและจะไม่มีประโยชน์ใด ๆ จากการใช้วานิช
เนื้อหาสดหรืออัตราการเข้าชมที่สูงขึ้น
รูปภาพมารยาทของmagestack.com
การใช้น้ำยาวานิชอย่างมีประสิทธิภาพนั้นเป็นเรื่องของการสร้างสมดุลระหว่างเนื้อหาเก่าและปริมาณผู้เข้าชมเว็บไซต์ของคุณ
หากคุณมีเว็บไซต์ที่ยุ่ง - อัตราต่อรองคือคุณสามารถหนีไปได้ด้วย TTL ที่ต่ำกว่าและยังมีอัตราการเข้าชมวานิชสูงและยังคงมี TTL ต่ำต่อไปดังนั้นเนื้อหาที่สดกว่า ดังนั้นการเปลี่ยนแปลงสต็อค / ราคาของคุณจะสะท้อนให้เห็นอย่างรวดเร็วและแคชถูกเตรียมไว้อย่างต่อเนื่องจากปริมาณการก้าวเท้า
หากคุณมีไซต์ที่มีปริมาณการใช้งานต่ำคุณจะต้องทำการประนีประนอม เพิ่ม TTL ของคุณเพื่อให้แน่ใจว่ามีอัตราการเข้าชมสูงกว่า - หรือมีเนื้อหาที่ทันสมัย คุณไม่มีทั้งคู่เลยทีเดียว ใช่คุณสามารถเรียกใช้เครื่องมือการรวบรวมข้อมูล / สไปเดอร์อย่างต่อเนื่อง - แต่ทรัพยากรที่จะใช้และปริมาณที่แท้จริงหรือ URL ที่สามารถรวบรวมข้อมูลได้ (โดยปกติจะอยู่ในร้านค้าขนาดเล็กจำนวนนับหมื่น) หมายความว่าไม่มีประสิทธิภาพ ดังนั้นโดยปกติร้านค้าขนาดเล็กจะได้รับประโยชน์เพิ่มเติมจากส่วนขยาย FPC ที่ดีและมีการกำหนดค่าเซิร์ฟเวอร์ที่เหมาะสมที่สุด
แต่แน่นอนฉันสามารถใช้ Varnish แม้ว่าผู้ใช้จะเข้าสู่ระบบแคชต่อ ESOP หรือ ESI คืออะไร?
ESIS
ESI นั้นเป็นยูทิลิตี้ที่ยอดเยี่ยมที่สามารถเก็บเนื้อหาไว้ในแคชและยังสามารถมีบล็อกแบบไดนามิกบนหน้า แต่เพื่อให้สามารถใช้งานได้อย่างมีประสิทธิภาพคุณต้องลดจำนวนการโทรกลับให้เหลือน้อยที่สุด มีโมดูลเริ่มต้นเล็ก ๆ น้อย ๆ ที่คุณสามารถใช้เป็นพื้นฐานสำหรับกระบวนการนี้ - ให้แน่ใจว่าคุณทำให้รูโหว่ด้านความปลอดภัยแน่นหนาโดยค่าเริ่มต้นนั้นไม่ปลอดภัยมาก - ไม่มีข้อ จำกัด ใด ๆ กับการจัดการเลย์เอาต์ที่คุณสามารถ / ไม่สามารถโหลดได้
ทุกครั้งที่มีการโหลดไฟล์วีโอไอพีมันจะมีค่าปรับประมาณ 200 มิลลิวินาที - ก่อนที่มันจะโหลดคอลเลกชัน / วาทกรรมบล็อก ฯลฯ ดังนั้นหากคุณมี ESIs มากกว่า 3 เท่าอัตราต่อรองก็คือคุณได้จบลงด้วย เวลาในการโหลดหน้าเว็บช้าลงโดยใช้ Varnish + ESIs สำหรับเนื้อหาแบบไดนามิกมากกว่าเพียงแค่ข้าม Varnish และส่งคำขอโดยตรงไปยัง Magento
ดังนั้นในการใช้งาน ESI อย่างมีประสิทธิภาพคุณจะต้องสามารถรวมคำขอหลาย ๆ รายการไว้ในคำขอเดียว
ตัวอย่างเช่นหน้ามุมมองหมวดหมู่ที่แสดงผลิตภัณฑ์ 20 รายการจำเป็นต้องแสดงระดับสต็อกที่ถูกต้อง ดังนั้นคุณใช้ ESI สำหรับแต่ละบล็อกในหน้า นั่นจะเป็นการร้องขอสต็อค 20x ของ ESI ในขณะที่คำขอสินค้ามีน้ำหนักเบามากการเรียกใช้ 20 เท่าพร้อมกันจะทำให้ประสิทธิภาพการทำงานแย่ลง ดังนั้นคุณสามารถให้บริการบล็อก / คอลเลกชันทั้งหมด 20 ผลิตภัณฑ์และรับคำขอ 1x ที่ แต่การโหลดและการแสดงคอลเลกชันอาจเป็นองค์ประกอบที่ช้าที่สุดในหน้าเว็บดังนั้นคุณจึงไม่ได้รับมากนัก
การใช้ ESI จำเป็นต้องมีการวางแผนและดำเนินการอย่างเหมาะสมหรือคุณมีไซต์ที่ช้ากว่าการไม่ใช้สารเคลือบเงาเลย
แคชต่อผู้ใช้
จากนั้นมีทางเลือกอื่นในการใช้แคชเฉพาะผู้ใช้ นี่เป็นความคิดที่ไม่ดีเว้นแต่คุณจะมีเว็บไซต์ที่มีปริมาณการใช้งานต่ำ อัตราการเข้าชมของคุณจะต่ำมาก - เนื่องจากอัตราต่อรองของผู้เข้าชมกดปุ่มหน้าเดียวกับที่พวกเขาเคยไปนั้นต่ำมาก และสำหรับลูกค้าแต่ละรายนั้นหน้าเพจขนาด 6Kb จะมีพื้นที่ว่างมากขึ้นในถังเก็บวานิชของคุณ
ตัวอย่างเช่นหากคุณจัดสรร 1GB ให้วานิช ด้วยไซต์ทั่วไปที่ผู้ใช้ดู 8 หน้าต่อการเข้าชมโดยเฉลี่ย 6 หน้านั้นจะไม่ซ้ำกัน นั่นคือ 28 ผู้เข้าชมต่อพื้นที่เก็บข้อมูล 1MB จากนั้นให้คำนึงถึงรูปภาพของคุณ CSS และ JS - สิ่งเหล่านี้ (ขอบคุณ) จะเป็นเรื่องปกติ แต่อาจจะยังคงมีพื้นที่เก็บข้อมูลที่ดีของคุณอยู่ที่ 7-800MB ทำให้คุณมีพื้นที่เก็บข้อมูลเหลือ 200MB แคชเพียงพอสำหรับผู้เยี่ยมชม 5,600 ราย
ฉันไม่สนใจฉันแค่ต้องการวานิช
โอเคคุณต้องทำสิ่งต่อไปนี้:
- ติดตั้ง SSL terminator เพื่อนั่งหน้าวานิช (เช่น stud / pound / nginx)
- ติดตั้ง Varnish บนเซิร์ฟเวอร์
- ให้แน่ใจว่าคุณกำหนดค่า
X-Forwarded-For
อย่างถูกต้อง
- ติดตั้งโมดูลวานิชที่ร้านค้าของคุณ
- ตั้งค่า VCL Vishish ของคุณเพื่อไม่รวมส่วนขยายของบุคคลที่สาม
เนื่องจาก 3 คะแนนแรกนั้นอยู่นอกเหนือขอบเขตของคำตอบนี้ฉันจะปล่อยให้ตัวคุณจัดการเอง จุดที่ 4 คือบทละครของเด็กและจุดที่ 5 - อ่านต่อ
สิ่งที่สำคัญที่สุดเกี่ยวกับการใช้งานวานิชคือการทำให้แน่ใจว่าคุณจะไม่แคชเนื้อหาที่ไม่ควรถูกแคช
เช่น.
- เกตเวย์การชำระเงินโทรกลับ
- ภาพรวมของรถเข็น
- ลูกค้าภาพรวมบัญชีของฉัน
- ชำระเงิน (และการโทร Ajax ที่เกี่ยวข้อง)
เป็นต้น
สำหรับ URL ของวีโอไอพีหลักมีรายการ URIs มาตรฐานที่คุณสามารถหลบหนีได้ในวานิช:
admin|checkout|customer|catalog/product_compare|wishlist|paypal
แต่คุณต้องพิจารณาส่วนขยายอื่น ๆ ที่กำหนดเอง / บุคคลที่สามที่คุณกำลังเรียกใช้ที่มีเส้นทางที่กำหนดเองเราเตอร์และเนมสเปซ น่าเสียดายที่ไม่มีวิธีง่ายๆในการทราบว่า URL ใดจากส่วนขยายเหล่านี้สามารถและไม่สามารถแคชได้ ดังนั้นคุณจำเป็นต้องประเมินผลเป็นกรณี ๆ ไป
ตามกฎแล้วเมื่อใดก็ตามที่เรากำหนดค่าวานิชเราจะเริ่มต้นด้วยการระบุเส้นทางเราเตอร์และเนมสเปซที่เกี่ยวข้องที่พวกเขาอาจครอบครองและไปจากที่นั่น เราทำสิ่งนี้ผ่าน SSH:
grep -Eiroh "<frontName>.*</frontName>" community | sed "s/<frontName>//gI;s#</frontName>##gI" | sort -u
grep -A10 -ir "<rewrite>" community | grep "<from>"
grep -A5 -ir "<routers>" community
grep -Eiroh "<frontName>.*</frontName>" local | sed "s/<frontName>//gI;s#</frontName>##gI" | sort -u
grep -A10 -ir "<rewrite>" local | grep "<from>"
grep -A5 -ir "<routers>" local
สิ่งนี้จะไม่ให้รายการ URL ที่ชัดเจน แต่จะให้คุณเริ่มต้นแน่นอน
เราไม่สามารถเน้นความสำคัญว่าจะไม่แคชเนื้อหาที่ไม่ควรแคช ผลลัพธ์อาจเป็นหายนะ
สรุป
เช่นเดียวกับการเพิ่มประสิทธิภาพของเซิร์ฟเวอร์ Magento อื่น ๆ การปรับใช้และปรับแต่งอย่างถูกต้องจะให้ประโยชน์อย่างแท้จริง แต่การทิ้งซอฟต์แวร์โดยไม่ตั้งค่าอย่างถูกต้องไม่เพียงทำให้ร้านค้าของคุณไม่เร็วขึ้น แต่อาจช้ากว่าไม่ปลอดภัยมากขึ้นและเชื่อถือได้น้อยลง