ปิดการใช้งานโมดูล - การปรับปรุงประสิทธิภาพ


27

คำถามนี้มี 2 ส่วน:

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

  2. หากมีการปรับปรุงประสิทธิภาพที่จะได้รับซึ่งโมดูลในสต็อกการสร้าง CE 1.7.0.2 สามารถปิดใช้งานได้อย่างปลอดภัยผ่านวิธีการตอบในส่วนที่ 1

คำตอบ:


27
  1. ใช่แล้ว. ก่อนอื่นโมดูลที่น้อยลงหมายถึงโค้ดที่น้อยลงสำหรับโหลดและกระบวนการ ถัดจากนั้นโมดูลจำนวนมากเช่นโมดูล Mage_Rss ใช้โค้ดจำนวนมากในพื้นหลังเช่นบังคับให้ทำดัชนีใหม่ในบางเหตุการณ์

    เกี่ยวกับวิธีการที่ดีที่สุดที่จะใช้: การปิดการใช้งานโมดูลโดยใช้System > Configuration > Advancedเฉพาะการระงับการส่งออกของโมดูลในขณะที่ยังคงรวมถึงรหัสของโมดูลนั้นในร้านค้า สิ่งนี้มีประโยชน์เมื่อคุณไม่ต้องการฟังก์ชั่นโมดูล แต่คุณต้องการเป็นรุ่นหรือบล็อกเนื่องจากส่วนขยายอื่น ๆ (บุคคลที่ 3) ขึ้นอยู่กับมัน การปิดใช้งานโดยใช้app/etc/modules/*.xmlจะเป็นการลบออกจากการติดตั้งอย่างสมบูรณ์ดังนั้นประสิทธิภาพจึงเป็นตัวเลือกที่ดีที่สุด

  2. ฉันมักจะปิดการใช้งานส่วนขยายต่อไปนี้ผ่านทาง XMl

    • Mage_Rss
    • Mage_PayPalUk
    • Mage_Tag (เมื่อไม่ได้ใช้ในโครงการ)
    • Mage_Poll (สาเหตุที่ใช้การสำรวจความคิดเห็นอยู่แล้ว)
    • Phoenix_Moneybookers
    • Mage_Sendfriend
    • Mage_Rating (เมื่อไม่ได้ใช้ในโครงการ)
    • Mage_Bundle (อีกครั้งหากลูกค้าไม่ต้องการ)
    • Mage_ ดาวน์โหลดได้ (ดูด้านบน)

    และผ่านSystem > Congiguration > AdvancedการMage_Adminnotificationยับยั้งป๊อปอัปที่น่ารำคาญเหล่านั้นในแบ็กเอนด์

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


1
มีวิธีปิดใช้งานโดยไม่เปลี่ยนไฟล์ core xml หรือไม่?
Marty Wallace

1
หากยังไม่มีไฟล์ XML ของตัวเองคุณสามารถสร้างและสร้างมันได้app/etc/module/Mage_Rss.xmlตัวอย่างเช่นสร้างและให้แน่ใจว่าคุณเพิ่มแท็กcodePool (หลัก) และใช้งาน (เท็จ)
Sander Mangel

ฉันอาจสับสนในเวลานั้น :) ฉันหมายถึงว่าฉันสามารถปิดการใช้งาน Mage_Centinel ตัวอย่างเช่นโดยไม่ต้องแก้ไข Mage_Centinel.xml เช่นใช้ไฟล์ xml ของฉันเองเพื่อปิดการใช้งาน ด้วยวิธีนี้ฉันจะไม่เปลี่ยนรหัสหลัก
Marty Wallace

Ahhh โอเคฉันเข้าใจผิด คุณอาจจะสามารถปิดการใช้งานได้เนื่องจากไฟล์ XML ทั้งหมดถูกรวมเป็นหนึ่งดังนั้นถ้าคุณเพิ่มในแท็กส่วนขยาย config.xml ของคุณมันควรจะรับได้ แต่ในความคิดของฉันมัน 'สะอาด' ที่จะทำจากapp/etc/modulesไดเรกทอรี แต่นั่นเป็นเพียงฉัน :)
Sander Mangel

2
ก่อนที่จะปิดการใช้งานการสำรวจอย่าลืมลบแบบสำรวจตัวอย่าง "เลือกสี"; ฉันพบโมดูลบุคคลที่สามที่สามารถแสดงเนื้อหาการสำรวจแม้ว่าโมดูลนั้นจะถูกปิดการใช้งาน
lrkwz

14

แม้จะมีคำตอบช้า แต่ฉันต้องการตอบคำถาม

  1. คุณจะได้รับประสิทธิภาพมากขึ้นหากคุณลบไฟล์
  2. เพียงแค่พวกเขาทั้งหมดยกเว้นMage_Core;-)

แต่เพื่อปิดการใช้งานโมดูลคู่แน่นคุณต้องติดตั้งโมดูลอื่นซึ่งดูแลว่าไม่มีอะไรจะทำลาย ดังนั้นฉันจึงพัฒนา: https://github.com/Zookal/magento-mock

Zookal Mock: การตรวจจับโมดูลหลักและส่วนขยายที่ปิดใช้งานโดยอัตโนมัติอย่างโปร่งใสและจัดหาวัตถุจำลองสำหรับการไม่ทำลาย Magento ไม่มีการกำหนดค่า ไม่มีคลาสที่เขียนใหม่ ผู้สังเกตการณ์เพียงคนเดียวเท่านั้น ทำงานนอกกรอบ คุณสามารถลบไฟล์ได้ด้วยตัวเอง!

เช่นเมื่อคุณปิดการใช้งานMage_Wishlistหรือแบ็กเอนด์Mage_Newsletterของคุณ-> ลูกค้า -> การแก้ไขลูกค้าจะทำให้เกิดข้อผิดพลาดแปลก ๆ ดังนั้นใช้ส่วนขยายจำลอง!

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

สิ่งหนึ่งที่ควรพิจารณา: มันไม่ทำงานบนบรรทัดคำสั่ง


10

ดูคำตอบของ Mariusเกี่ยวกับวิธีปิดการใช้งานโมดูล XML ที่ง่ายและรวดเร็ว สร้างไฟล์เดียวที่zzz_Disabled_Modules.xmlมีเนื้อหา

<?xml version="1.0"?> 
<config>
    <modules>
        <Mage_Rss>
            <active>false</active>
        </Mage_Rss>
        <Mage_PaypalUk>
           <active>false</active>
        </Mage_PaypalUk>
        <Phoenix_Moneybookers>
            <active>false</active>
        </Phoenix_Moneybookers>
        <!-- all other modules here -->
    </modules>
</config>

ลองนึกภาพ! Gitignore สำหรับโมดูล Magento!

ด้วยวิธีนี้คุณสามารถดูโมดูลที่คุณเปิดใช้งาน / ปิดใช้งานได้อย่างรวดเร็ว


2

@Sander Mangel กล่าวว่าการปิดใช้งานโมดูลที่ท้าทายสามารถเพิ่มประสิทธิภาพได้อย่างมากถึงแม้ว่าสิ่งที่คุณปิดการใช้งานจริง ๆ นั้นเป็นของแต่ละร้าน ปกติแล้วมีหลายอย่างที่คุณไม่ต้องการ หากคุณไม่ได้ใช้การปิดใช้งาน whishlist Mage_Wishlistจะทำให้เกิดความแตกต่าง

Mage_Logกำไรก็คือการปิดการใช้งาน สิ่งนี้อาจทำได้ดีกว่าผ่าน local.xml

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