คุณมี RAM ไม่เพียงพอ
เรามีผลิตภัณฑ์ประมาณ 240k
ram ที่มีจำหน่าย: 6GB
หัวข้อ: 32
คุณมี RAM ไม่เพียงพอสำหรับจำนวนผลิตภัณฑ์ที่คุณมี ตามกฎทั่วไปเราขอแนะนำ RAM อย่างน้อย 2-4GB ต่อตรรกะหลัก
หากคุณจับคู่การใช้หน่วยความจำที่เป็นไปได้:
- 64 เธรด PHP ที่มี
max_memory
~ 768MB = 24GB
- มีแนวโน้มว่าผลิตภัณฑ์ 240,000 รายการจะหมายถึงพื้นที่ตาราง InnoDB ประมาณ 15GB
- 64 เธรด PHP จะรับประกันการเชื่อมต่อ MySQL ประมาณ 128 ครั้งโดยทั่วไปจะมีค่าใช้จ่ายประมาณ 200MB ต่อการเชื่อมต่อขั้นต่ำ
- พื้นที่เก็บข้อมูลเบื้องหลังสำหรับ 240,000 ผลิตภัณฑ์ใน Redis และ
lzf
บีบอัด - จะยังคงใช้ RAM ประมาณ 6GB
ดังนั้นทั้งหมดจนถึงขณะนี้คือ RAM 70GB ที่ได้รับมอบหมาย - เราไม่ได้กล่าวถึงระบบปฏิบัติการอื่น ๆ
ฮาร์ดแวร์ของคุณมีการระบุขีดล่างอย่างน่ากลัว ฉันขอแนะนำให้อ่านบทความเซ็ตอัพเซิร์ฟเวอร์ของ Magentoเพื่อรับความรู้สึกเกี่ยวกับวิธีการดำเนินการ
Memcached ไม่รองรับแท็กแคช
หากคุณใช้ Memcached (ไม่ใช่ปัญหามันมีประสิทธิภาพสูงมาก) แสดงว่าคุณกำลังจัดเก็บแท็กแคชหรือไม่ หากคุณไม่ได้slow_backend
กำหนดไว้ - คุณไม่ได้จัดเก็บแท็กซึ่งโดยทั่วไปหมายความว่าแคชของคุณไม่สามารถแยกแยะระหว่างประเภทแคชที่แตกต่างกัน - ดังนั้นคุณจะไม่สามารถล้างออกได้อย่างอิสระ
มีการอ่านมากกว่านี้http://www.sonassi.com/knowledge-base/magento-kb/what-is-memcache-actually-caching-in-magento/
เราขอแนะนำอย่างยิ่งให้เปลี่ยนไปใช้ Redis มันมีนิสัยใจคอและไม่จำเป็นต้องปรับจูนอย่างมีนัยสำคัญสำหรับร้านค้าขนาดใหญ่ แต่โดยรวมจะทำงานได้ดีกว่า Memcached เล็กน้อยพร้อมกับประโยชน์ที่แท้จริงของการสนับสนุนแท็กแคช
404's และ FPC
FPC มีปัญหาจริงอันที่จริงแล้วเอ็นจิ้นแคชทั้งหมดมีปัญหากับยุค 404 เหตุผลที่ URL เก่า ๆ ที่ยังคงมีการรวบรวมข้อมูลหรือเชื่อมโยงไปถึงนั้นจะเชื่อมโยงไปถึงหน้าเว็บที่ต้องวนซ้ำทั้งcore_url_rewrite
ตารางลองค้นหาการจับคู่กับเราเตอร์และเนมสเปซที่กำหนดไว้ทั้งหมดก่อนจะยอมแพ้และโหลด 404
จากนั้นแคชทรัพยากรที่ไม่มีค่าและจะใช้พื้นที่ในที่เก็บแคชของคุณ คุณอาจจะพบว่าพื้นที่จัดเก็บ Memcached ของคุณมีขนาดใหญ่มากโดยมีเนื้อหาอยู่ที่ 404 รายการ
ด้วยแคตตาล็อกขนาดใหญ่ (240k ผลิตภัณฑ์) แน่นอนว่าคุณจะมีส่วนแบ่งที่ยุติธรรมของการหมุนเวียนสินค้าดังนั้นการเปลี่ยนแปลงใน URL และต่อมา 404 หลายแห่ง
FPC เป็นโมฆะกับสะอาด
ในขณะนี้ - และโดยค่าเริ่มต้น - พฤติกรรมของ FPC คือการล้างแคชในการเปลี่ยนแปลงแทนที่จะทำให้รายการแคชใช้ไม่ได้ เราเขียนส่วนขยายเพื่อแก้ไขพฤติกรรมนี้สำหรับร้านค้า EE เพื่อทำสิ่งที่คุณต้องการ
นี่คือแพทช์ด่วนเพื่อให้คุณมีความคิดในการแก้ปัญหาของคุณ
app/code/core/Enterprise/PageCache/etc/config.xml
index 6a56a80..85ebc92 100644
--- app/code/core/Enterprise/PageCache/etc/config.xml
+++ app/code/core/Enterprise/PageCache/etc/config.xml
@@ -139,7 +139,7 @@
<observers>
<enterprise_pagecache>
<class>enterprise_pagecache/observer</class>
- <method>cleanCache</method>
+ <method>invalidateCache</method>
</enterprise_pagecache>
</observers>
</catalogrule_after_apply>
อย่าเรียกใช้โปรแกรมรวบรวมข้อมูล
หากคุณมีการก้าวเท้าที่ดีพอ - เราไม่แนะนำให้เรียกใช้เครื่องมือรวบรวมข้อมูลมันจะสร้างภาระที่ไม่จำเป็น ผู้คน / บอท / ซอฟต์แวร์รวบรวมข้อมูลการเรียกดูไซต์ควรเก็บแคชไว้ล่วงหน้า
แต่เพื่อตอบคำถามของคุณหากคุณดูในไฟล์กำหนดค่าที่กล่าวถึงด้านบน - คุณจะเห็นกำหนดการ cron ที่กำหนดไว้สำหรับหน้าต่างเรียกดูการรวบรวมข้อมูล
หากคุณสามารถจ่ายเนื้อหาค้าง
และในที่สุดถ้าคุณมีแรมเพียงพอ คุณสามารถได้รับประโยชน์จากการเพิ่ม TTL ของเนื้อหาที่จัดเก็บใน FPC - เพื่อให้ข้อมูลแคชของคุณมีชีวิตอยู่ได้นานขึ้น
ใน<full_page_cache>
แท็กที่คุณ./app/etc/local.xml
เพิ่งกำหนด
<lifetimelimit>86400</lifetimelimit>
อายุการใช้งานจะถูกกำหนดในไม่กี่วินาที คุณต้องสร้างสมดุลระหว่างความสดใหม่ของเนื้อหาประสิทธิภาพและปริมาณพื้นที่เก็บข้อมูลที่คุณมีอยู่จริง
เหตุใดคุณจึงใช้ส่วนขยายแคชบุคคลที่สามกับ EE
คุณกำลังจ่ายเบี้ยประกันภัยสำหรับ FPC ซึ่งทำให้ฉันต้องบอกว่าดีมาก เหตุใดคุณจึงใช้งานทางเลือกของบุคคลที่สามมากกว่าด้านบน ย้ายมัน.
ใส่มันด้วยวิธีนี้ หากรถของคุณทำงานไม่ดี - คุณแค่เพิ่มเครื่องยนต์อีกตัวในบูทเพื่อชดเชยหรือไม่ หรือเพียงแค่แก้ไขเครื่องยนต์ที่มีอยู่แล้ว?