แคชแบบเต็มหน้าใน CE 1.8 - โมดูล Magento FPC? วานิช? ทั้งสอง?


15

ดังนั้นฉันสับสนเล็กน้อยเมื่อฉันทำการค้นคว้า Full Page Caching สำหรับ Community Edition 1.8 ฉันได้ติดตั้ง Redis Cache สองระดับ CDN ปรับ my.cnf ของ MySQL เพื่อประสิทธิภาพสูงสุด (w / ฐานข้อมูลอยู่บนเซิร์ฟเวอร์ที่แยกต่างหากแน่นอน) และฉันมี 2 เซิร์ฟเวอร์ที่โฮสต์ร้านค้าของเราอยู่ด้านหลังตัวโหลดบาลานซ์ ฉันบอกว่าจะชี้ให้เห็นว่าฉันไม่ได้กระโดดสำหรับ FPC ทันทีก่อนที่จะทำการปรับแต่งประสิทธิภาพเริ่มต้น

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

จนถึงตอนนี้ฉันคิดว่าพวกเขาเป็นสองหน่วยงานแยกจากกันที่คุณสามารถใช้งานได้ช่วยเว็บไซต์ของคุณ แต่ตอนนี้บางสิ่งที่ฉันได้อ่านดูเหมือนจะบ่งบอกถึงสิ่งที่ตรงกันข้าม แผนเดิมของฉันคือการซื้อโมดูล" Warp Advanced Full Page Cache " สำหรับ Magento (เดิมชื่อ "Tiny Brick Lightspeed FPC" ฉันเชื่อ) เนื่องจากดูเหมือนว่าจะเป็นที่นิยมมากที่สุดหากสัมผัสกับด้านที่ล้ำกว่า (แต่ตรงไปตรงมา $ 350 ไม่มากสำหรับ บริษัท ของเราโดยเฉพาะอย่างยิ่งสิ่งที่สามารถทำได้) ตัวฉันและผู้พัฒนาเพื่อนของฉัน 2 คนกำลังวางแผนที่จะเรียนรู้ที่จะนำไปใช้อย่างถูกต้องและครบถ้วนภายในธีมที่กำหนดเองและทำเองของเราเองเพื่อเพิ่มสิ่งที่เราสามารถทำได้ให้เต็มที่ หลังจากนั้นก็เสร็จในบางจุดฉันคิดว่าฉันจะใช้ Varnish เช่นกัน - แต่อย่างที่ฉันบอกไปก่อนหน้านี้ฉันเข้าใจพวกเขาแยกกัน

อย่างไรก็ตามตอนนี้ฉันเริ่มพบกับส่วนขยายเช่น PageCache นี้ขับเคลื่อนโดย Varnish ที่ว่างหรือ Vortex Cache นี้ขับเคลื่อนโดย Varnish Cache ซึ่งเกือบ $ 800 USD ซึ่งเป็นโมดูล Magento Full Page Cache ที่ทำงานโดยตรงกับ Varnish

คำถามของฉันถึงคุณการแลกเปลี่ยนสแต็คฉันจะเห็น FPC และวานิชได้อย่างไร เป็นหน่วยงานที่แยกจากกัน? ถ้าเป็นเช่นนั้นพวกเขาเป็นพิเศษร่วมกัน? พวกเขาทั้งสองด้านของเหรียญเดียวกันที่ฉันควรใช้ร่วมกัน? หรือว่าพวกเขาคล้ายกัน แต่ไม่รวมกันหรือไม่รวมกัน?

ฉันสามารถใช้ Warp Advanced FPC ที่ฉันพูดถึงข้างต้นกับวานิชได้หรือไม่? ฉันควรใช้กับสารเคลือบเงาหรือไม่? หรือมันจะดีกว่าถ้าใช้ FPC อื่นถ้าฉันวางแผนที่จะใช้วานิช? หรือยิ่งกว่านั้นมี FPC ดีหรือไม่ที่ฉันไม่ต้องการวานิช? หรือในทางกลับกันฉันควรใช้ Varnish และทิ้งความคิด FPC หรือไม่

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

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

ขอขอบคุณ!!!

แก้ไข: โอ้! และอีกหนึ่งคำถามที่รวดเร็ว - เนื่องจากฉันมีเซิร์ฟเวอร์สองเครื่องที่โฮสต์ไซต์ของฉันไว้ด้านหลัง load balancer (ซึ่งเป็นการตั้งค่าที่สามารถเพิ่มได้ในแนวนอนหากจำเป็นต้องเกิดขึ้น) ฉันจึงใช้ Redis และ Memcached โฮสต์บนเซิร์ฟเวอร์แยกต่างหากจาก เว็บและฐานข้อมูลสำหรับเซสชันของฉันและ Two Level Cache ของ Magento (เช่น Well, Zend) ฉันถือว่า FPC จะเก็บข้อมูลไว้ในระบบใดระบบหนึ่งหรือไม่ ฉันจะต้องมีส่วนขยายเฉพาะเพื่อเก็บไว้ที่นั่นหรือทำทั้งหมดหรือไม่ และในขณะที่ฉันไม่คิดสิ่งนี้จะส่งผลกระทบต่อวานิชในหรือไม่ ขอบคุณอีกครั้ง!!


เห็นได้ชัดว่าฉันสามารถใส่สองลิงก์ในผนังข้อความของฉันเนื่องจากขาดชื่อเสียง เป็นวิธีที่กระตุ้นให้ฉันหมุนรอบจุดอินเทอร์เน็ต ... นั่นคือลิงค์: Vortex Cache ขับเคลื่อนโดย Varnish Cache aa และ PageCache ขับเคลื่อนโดย Varnish
ThatSourDiesel

3
ฉันไม่สามารถให้คำแนะนำเกี่ยวกับวานิชได้มากนัก แต่ฉันขอแนะนำให้ดูที่ Lesti FPC - gordonlesti.com/lestifpcฟรีโดยสมบูรณ์มีการเจาะรูสามารถกำหนดค่าได้จากผู้ดูแลระบบ มันยอดเยี่ยมอย่างแน่นอน
พอล

@ThatSourDiesel - คุณบอกเราได้ไหมว่าคุณทำอะไร โดยเฉพาะอย่างยิ่งภายใต้คำตอบที่ได้รับการยอมรับถ้าคุณใช้วิธีนี้เป็นอย่างน้อย
SPRBRN

คำตอบ:


28

วิทยาศาสตร์คอมพิวเตอร์มีสองสิ่งที่ยาก:

  1. การตั้งชื่อสิ่งต่าง ๆ
  2. การใช้แคชไม่ถูกต้อง

การเจาะรูตกอยู่ในหมวดหมู่ # 2 :)

ทั่วไป

วิธีที่ดีที่สุดคือการเริ่มต้นที่จุดต่ำสุดของสแต็กและเพิ่มประสิทธิภาพจนถึงส่วนหน้าของ Magento


ฐานข้อมูลและระบบไฟล์

ควรเป็นพื้นที่แรกที่มุ่งเน้น เพราะ. I / O

MyTopเป็นสคริปต์ perl ที่ใช้งานง่ายของ Linux ซึ่งจะเลียนแบบคำสั่ง 'top' ของ Linux และให้ข้อมูลเชิงลึกเกี่ยวกับสถานะของอินสแตนซ์ MySQL ของคุณ

Htopเป็นอันดับต้นๆ ที่แข็งแกร่งกว่าเดิมคุณลักษณะstraceสามารถช่วยระบุ ins / outs ของกระบวนการในการค้นหาคอขวดที่อาจเกิดขึ้น

Iotopเป็นอีกหนึ่งเครื่องมือที่ควรพิจารณาเพื่อตรวจสอบ I / O

สคริปต์ยูทิลิตี้ที่มีประโยชน์อื่น ๆ เช่นmysqltuner.plและmysql tunning primerสามารถให้ข้อมูลเชิงลึกเกี่ยวกับตัวแปรรันไทม์ MySQL ของคุณและให้คำแนะนำเพื่อช่วย โปรดทราบว่าสิ่งเหล่านี้มีไว้เพื่อเป็นแนวทางในการดำเนินการที่ดีที่สุดคือการประเมินความต้องการและการปรับแต่งตามข้อมูลที่รวบรวมได้ การทำเช่นนั้นอาจทำให้เกิดความเสียหายมากกว่าในเวลาที่ดี และการรันก่อนเวลาเหล่านี้โดยไม่มีตัวแปรรันไทม์ mysql อย่างน้อย 24 ชั่วโมงอาจให้คำแนะนำที่ไม่ดี

โปรดจำไว้ว่าPercona , MariaDB และ MySQL มาตรฐานควรทำงานกับสิ่งต่างๆข้างต้น การที่ได้รับความนิยมจาก Percona ในฐานะ MySQL fork เนื่องจาก Magento มีน้ำหนักมากใน InnoDB และ XtraDB นั้นมีเครื่องมือและการปรับปรุงมากมายสำหรับเครื่องยนต์ db


Apache หรือ Nginx

ยังคงใช้ Apache เพราะมันให้บริการอื่น ๆ ได้ดีรวมตัวเอง ฉันได้ใช้และกำหนดค่า Nginx เช่นกัน แม้ว่ามันจะมีข้อดีบางอย่าง แต่ก็มีช่วงการเรียนรู้ ในขณะที่ทั้งสองเป็นตัวเลือกที่ได้รับความนิยม แต่ก็มีข้อได้เปรียบบางอย่างเหนือ Apache หนึ่งอาจเป็นหน่วยความจำขนาดเล็กกว่า อย่างไรก็ตาม Apache บางตัวที่ใช้ PHP-FPM ที่ลดลงจะมีหน่วยความจำคล้ายกัน

กรณีในจุด:

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

เพื่อช่วยอำนวยความสะดวกในการตรวจสอบนี้:

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

PHP

PHP-FPM และ APC ใช้พวกมันปลดโมดูล PHP ที่ไม่จำเป็นหรือไม่จำเป็นสำหรับ Magento


Magento codebase

AOE_Template คำแนะนำดีมากในการพิจารณาว่าบล็อกของคุณแคชอย่างถูกต้องหรือไม่:

AOE_Profilerเหมาะสำหรับการทำโปรไฟล์ให้แน่ใจและเปิดใช้งานการทำโปรไฟล์เลเยอร์ DB (ในสภาพแวดล้อมท้องถิ่น / dev อย่างชัดเจน) ร่วมกับเครื่องมือmytopที่กล่าวถึงก่อนหน้านี้ทำให้การค้นหา SQL ที่มีพฤติกรรมไม่ดีเป็นงานที่ง่ายขึ้น

โมดูลบุคคลที่สามและรหัสที่กำหนดเอง

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

เครื่องมือ Magniffer จาก Magento ECG จะช่วยระบุรหัสพฤติกรรมที่ไม่ดีได้อย่างง่ายดายตาม PDF ที่ระบุไว้ด้านบน มันเป็น symfony / php-parser ตามอย่างไรก็ตาม แต่สามารถติดตั้งผ่านทางผู้แต่ง


เคลือบเงา

ไม่เพียง แต่เปิดวานิช

ในฐานะที่เป็นผู้สนับสนุน Varnish ในฐานะผู้เขียนคือเคอร์เนล FreeBSD dev มันให้เวลาโหลดย่อยที่สองบางครั้ง อย่างไรก็ตามหากคุณมีความแตกต่างเล็กน้อยในเทมเพลตของคุณที่ไม่ได้อยู่ในกล่องคุณจะใช้เวลาในการตั้งค่าวานิช / วีโอไอพีเพื่อเจาะรูเนื้อหาที่คุณต้องการ ส่วนใหญ่ที่ฉันเคยเห็นจะเพียง AJAX'ify รายการที่จำเป็นไม่ได้ล้างออกจากวานิช

มีโมดูลวีโอไอพีจำนวนหนึ่งที่จะช่วยอำนวยความสะดวกในการเจาะรูและแคช:

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


Magento CE FPC

จนถึงขณะนี้ CE FPC ที่ดีที่สุดที่ฉันพบคือ: Lesti :: FPC

เป็นโอเพ่นซอร์สและ FPC ฟรีสำหรับชุมชน


ในตอนท้ายของวันใช้การทดสอบและการตัดสินของคุณเอง

อ่านเพิ่มเติมบางส่วน:


2

บิตปลายกระทู้นี้ฉันรู้ แต่ถ้าคุณยังคงมองหาวิธีการแก้ปัญหาแล้วคุณอาจต้องการที่จะต้องพิจารณาวิวัฒน์แคช เป็นราคาเดียวกับ Warp แต่:

  • ง่ายและรวดเร็วในการติดตั้งและกำหนดค่า - การเจาะรูและการกำหนดค่าทั้งหมดทำจากภายในผู้ดูแลระบบ
  • บูรณาการโดยตรงกับวานิชและช่วยให้คุณล้างและอุ่นแคชวานิชของคุณจากภายในวีโอไอพี
  • ทำงานร่วมกับส่วนหน้า form_key ที่แนะนำใน 1.8 CE ทั้งในวานิชและเป็นแคชของตัวเอง
  • ได้รับการพัฒนาอย่างมากด้วยการสนับสนุนที่ตอบสนอง เวอร์ชันใหม่ปกติโดยมีวัตถุประสงค์เพื่อเผยแพร่การแก้ไขข้อบกพร่องภายในไม่กี่วันของการรายงาน
  • มีเอกสารมากมายที่อัพเดททุกครั้ง

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


โอ้ว้าวน่าสนใจ ฉันจะตรวจสอบสิ่งนั้นอย่างแน่นอน ฉันควรโพสต์การอัปเดตที่นี่ โดยพื้นฐานแล้วฉันได้ตัดสินใจที่จะไปกับวานิชมากกว่าโมดูลแคชแบบเต็มหน้า แต่ฉันก็ติดอยู่กับสิ่งที่ต้องทำเกี่ยวกับชิ้นส่วนแบบไดนามิก ESI vs AJAX ส่วนใหญ่ ฉันลอง Varnish กับ Turpentine แต่เมื่อฉันมีปัญหาในการเพิ่มสิ่งของลงในรถเข็น - ฉันดึงมัน ปรากฎว่าปัญหาเกี่ยวข้องกับตัวจัดการบันทึกเซสชันของฉัน memcached ฉันสิ้นสุดการค้นหาในภายหลัง ดังนั้นที่กล่าวว่าฉันยังต้องการที่จะได้รับการเคลือบเงาสำรอง แต่ต้องใช้เวลาในการทำให้แน่ใจว่าส่วนแบบไดนามิกของฉันทั้งหมดทำงานได้ดี
ThatSourDiesel

1
ได้เลย ฉันไม่คิดว่า Turpentine ยังทำงานกับ 1.8 CE ได้เนื่องจากการรวม form_key ไว้ที่ส่วนหน้า - นี่อาจเป็นเหตุผลว่าทำไมคุณถึงมีปัญหากับการเพิ่มในรถเข็น โดยส่วนตัวแล้วฉันจะแนะนำ Ajax ให้กับ ESI ส่วนใหญ่เพราะ ESI ต้องการให้คุณส่งคำขอไปยัง Magento ก่อนที่จะมีการส่งหน้านี้และสิ่งนี้จะช้าเสมอ คุณอาจสนใจดูโพสต์นี้ fabrizio-branca.de/magento-varnish-ajax-vs-esi.html
Jonathan Hussey

ฉันชอบบล็อกของ Fabrizio! เห็นได้ชัดว่าโมดูล AJAX ของเขา - นั่นคือสิ่งที่ฉันหมายถึงเมื่อฉันพูดถึง AJAX ในความคิดเห็นสุดท้ายของฉัน ปัญหาการสั่งซื้อสินค้าที่ฉันมีอยู่เกิดจากสิ่งแปลก ๆ พร้อม memcached ที่ฉันจัดการเพื่อแก้ไขจริง ๆ แล้ว ที่กล่าวถึงแม้ว่าพวกเขาจะบอกว่า Turpentine ใช้งานไม่ได้กับ 1.8 เว้นแต่คุณจะปิดการใช้งาน form_key แต่ดูเหมือนว่าจะใช้ได้ดีสำหรับฉัน อย่างไรก็ตามฉันไม่เข้าใจ ESI อย่างสมบูรณ์ในตอนนั้นดังนั้นจึงถูกปิดการใช้งานจนกว่าฉันจะสามารถใช้เวลาและการทดสอบได้มากขึ้น เมื่อไม่นานมานี้ฉันพลาดงานชิ้นเล็กชิ้นหนึ่ง - กระดูกไหปลาร้าหักต้องผ่าตัด
ThatSourDiesel

BTW, Evolved Caching เป็นโมดูลของคุณเองหรือ? เพิ่งอยากรู้อยากเห็น - คุณยินดีที่จะให้ฉันให้มันยิงบนเซิร์ฟเวอร์การแสดงละครของฉันได้อย่างไร เราสามารถพูดคุยในชื่อโดเมน PM และสิ่งที่ไม่เพื่อให้คุณสามารถตรวจสอบได้จริง ๆ แล้วมันเป็นเซิร์ฟเวอร์ทดสอบและไม่ใช่การผลิต =)
ThatSourDiesel

ฉันหวังว่าคุณจะฟื้นตัวหลังจากการผ่าตัดของคุณ! ใช่โมดูลได้รับการพัฒนาโดย บริษัท ของฉันและใช่เรายินดีเป็นอย่างยิ่งที่จะให้คุณทดลองใช้กับโดเมน staging / dev เพียงแค่วางอีเมลถึงเราใช้ที่อยู่อีเมลบริการลูกค้าในคอลัมน์ด้านซ้ายของร้านค้าของเราและผมจะหยิบมันขึ้นมา - store.husseycoding.co.uk ตามบันทึกข้าง, ดีใจที่คุณได้รับการแก้ไขปัญหา memcached มูลค่า noting บางทีนั่นอาจจะเพิ่มใส่รถเข็นสามารถปรากฏในการทำงานภายใต้ 1.8 สำหรับผู้ใช้ที่เป็นสาเหตุที่ทำให้หน้าไปยังแคชเป็นกุญแจสำคัญในรูปแบบของพวกเขายังอยู่ในแคช แต่ล้างคุกกี้ของคุณจะได้รับใหม่ คีย์เซสชั่น + ฟอร์มและคุณอาจพบว่ามันล้มเหลว
Jonathan Hussey

1

เราได้เขียน FPC ที่เข้ากันได้กับ Magento 1.8 form form ใหม่ แคชแบบเต็มหน้าของ Brim: http://ecommerce.brimllc.com/full-page-cache-magento.html

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

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

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

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

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

ฉันสามารถพูดได้สำหรับ FPC ทั้งหมด แต่ด้วยของเราคุณสามารถกำหนดค่าผ่านทางผู้ดูแลระบบที่จะเก็บไว้ คุณสามารถเลือกใช้แบ็กเอนด์แคช Magento เริ่มต้นหรือระบุการตั้งค่าแบบกำหนดเองเพื่อใช้ไฟล์, ฐานข้อมูล, APC, Redis, Memcache และแบ็กเอนด์ไฟล์ที่ปรับให้เหมาะสม


สามารถรับรองการส่งมอบให้กับเบราว์เซอร์ในระยะเวลาไม่เกิน 20 มิลลิวินาที Magento FPC ที่ฉันเห็นในร้านค้าจริงๆ
Melvyn

0

ไม่มีคำตอบที่ถูกต้อง ร้านค้าควรมีการโหลดหน้าแบบไดนามิกย่อย 3 วินาทีและการโหลดหน้าแบบไดนามิก 1-2 วินาทีไม่จำเป็นต้องมีวินาทีย่อยและเป็นสถิติเชิงการตลาดเป็นหลัก Apache เป็นเรื่องง่ายที่จะเรียนรู้และยากต่อการแสดง Nginx นั้นยากที่จะเรียนรู้และง่ายต่อการทำงานไซต์จำนวนมากย้ายไปที่ Nginx อย่างไรก็ตามการมีสถาปัตยกรรมที่มีคุณภาพสูงจาก Nginx และ Magento นั้นไม่ใช่เรื่องง่าย

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

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

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

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


-2

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

  1. เช่นเดียวกับวานิชมันไม่ได้ใช้ประโยชน์จากการเชื่อมต่อฐานข้อมูล 90% ของการร้องขอ เป็นผลให้มันเร็วมาก
  2. มันมีความสามารถในการล้างหน้าอัตโนมัติเมื่อสิ่งต่าง ๆ เช่นการเปลี่ยนแปลงสินค้าคงคลังของผลิตภัณฑ์และทำได้ดีมาก
  3. เป็นแคชแบบหลายชั้นดังนั้นจึงรองรับการเจาะรูเมื่อผู้ใช้ล็อกอิน (คำขอเหล่านี้ต้องการการใช้ฐานข้อมูล)

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


สิ่งนี้ไม่ได้ตอบคำถามของผู้เขียนว่าควรใช้วานิชหรือ FPC หรือไม่
Steve Robbins

@extendware คุณต้องเปิดเผยเมื่อคุณเป็นผู้เขียนผลิตภัณฑ์ เรายินดีสนับสนุนผลงานที่มีค่า แต่เราไม่ต้อนรับสแปมทันที
philwinkle
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.